Dave is blue. Dave is young. Erin is nice. Fiona is red. Gary is blue. Gary is white. Gary is young. If something is young then it is green. Blue, green things are nice. Blue, young things are white. All nice things are furry. If something is red and green then it is nice. If something is red then it is blue.
Dave is blue.
("Dave" "is" "blue" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
If something is young then it is green.
((("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
Blue, green things are nice.
((("something" "is" "blue" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
Blue, young things are white.
((("something" "is" "blue" "+") ("something" "is" "young" "+")) -> ("something" "is" "white" "+"))
All nice things are furry.
((("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is red and green then it is nice.
((("something" "is" "red" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
If something is red then it is blue.
((("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
Gary is white.
True
1
proof
[(triple6 OR ((triple5 triple7) -> rule3))]
("Gary" "is" "white" "+")
triple6
((triple5 triple7) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Dave is not blue.
False
1
inv-proof
[(triple1)]
("Dave" "is" "blue" "-")
triple1
Gary is green.
True
2
proof
[(((triple7) -> rule1))]
("Gary" "is" "green" "+")
((triple7) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is not green.
False
2
inv-proof
[(((triple7) -> rule1))]
("Gary" "is" "green" "-")
((triple7) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Dave is nice.
True
4
proof
[(((triple1 ((triple2) -> rule1)) -> rule2))]
("Dave" "is" "nice" "+")
((triple1 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is not nice.
False
4
inv-proof
[(((triple1 ((triple2) -> rule1)) -> rule2))]
("Dave" "is" "nice" "-")
((triple1 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is furry.
True
5
proof
[(((((triple1 ((triple2) -> rule1)) -> rule2)) -> rule4))]
("Dave" "is" "furry" "+")
((((triple1 ((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Gary is not furry.
False
5
inv-proof
[(((((triple5 ((triple7) -> rule1)) -> rule2)) -> rule4))]
("Gary" "is" "furry" "-")
((((triple5 ((triple7) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Erin is not green.
Unknown
inv-rconc
[@1: Erin is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Erin" "is" "green" "-")
Fiona is green.
Unknown
rconc
[@1: Fiona is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "green" "+")
Erin is not white.
Unknown
inv-rconc
[@1: Erin is white.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "white" "-")
Fiona is nice.
Unknown
rconc
[@2: Fiona is nice.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Fiona" "is" "nice" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Dave is red.
Unknown
random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "+")
Fiona is not young.
Unknown
inv-random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "-")
Gary is red.
Unknown
random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "+")
@0: Dave is blue.[(triple1)] Dave is young.[(triple2)] Erin is nice.[(triple3)] Fiona is red.[(triple4)] Gary is blue.[(triple5)] Gary is white.[(triple6 OR ((triple5 triple7) -> rule3))] Gary is young.[(triple7)] @1: Dave is green.[(((triple2) -> rule1))] Dave is white.[(((triple1 triple2) -> rule3))] Erin is furry.[(((triple3) -> rule4))] Fiona is blue.[(((triple4) -> rule6))] Gary is green.[(((triple7) -> rule1))] @2: Dave is nice.[(((triple1 ((triple2) -> rule1)) -> rule2))] Gary is nice.[(((triple5 ((triple7) -> rule1)) -> rule2))] @3: Dave is furry.[(((((triple1 ((triple2) -> rule1)) -> rule2)) -> rule4))] Gary is furry.[(((((triple5 ((triple7) -> rule1)) -> rule2)) -> rule4))]
Dave is blue.
("Dave" "is" "blue" "+")
triple1
Dave is young.
("Dave" "is" "young" "+")
triple2
Erin is nice.
("Erin" "is" "nice" "+")
triple3
Fiona is red.
("Fiona" "is" "red" "+")
triple4
Gary is blue.
("Gary" "is" "blue" "+")
triple5
Gary is white.
("Gary" "is" "white" "+")
triple6
((triple5 triple7) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
triple7
Dave is green.
("Dave" "is" "green" "+")
((triple2) -> (rule1 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
((triple1 triple2) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple3) -> (rule4 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple4) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((triple7) -> (rule1 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple1 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple5 ((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((((triple1 ((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
((((triple5 ((triple7) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3