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