Bob is blue. Bob is green. Charlie is furry. Charlie is green. Charlie is round. Charlie is smart. Charlie is white. Erin is round. Erin is smart. Gary is blue. Gary is cold. Gary is furry. Gary is green. Gary is round. Gary is smart. Gary is white. If Gary is round then Gary is furry. All round people are blue. If Gary is round and Gary is blue then Gary is cold. If Charlie is furry and Charlie is white then Charlie is smart. If someone is blue then they are white. If someone is smart and blue then they are cold.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is green.
("Bob" "is" "green" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is white.
("Gary" "is" "white" "+")
If Gary is round then Gary is furry.
((("Gary" "is" "round" "+")) -> ("Gary" "is" "furry" "+"))
All round people are blue.
((("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
If Gary is round and Gary is blue then Gary is cold.
((("Gary" "is" "round" "+") ("Gary" "is" "blue" "+")) -> ("Gary" "is" "cold" "+"))
If Charlie is furry and Charlie is white then Charlie is smart.
((("Charlie" "is" "furry" "+") ("Charlie" "is" "white" "+")) -> ("Charlie" "is" "smart" "+"))
If someone is blue then they are white.
((("someone" "is" "blue" "+")) -> ("someone" "is" "white" "+"))
If someone is smart and blue then they are cold.
((("someone" "is" "smart" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "cold" "+"))
Charlie is furry.
True
1
proof
[(triple3)]
("Charlie" "is" "furry" "+")
triple3
Erin is not round.
False
1
inv-proof
[(triple8)]
("Erin" "is" "round" "-")
triple8
Bob is white.
True
2
proof
[(((triple1) -> rule5))]
("Bob" "is" "white" "+")
((triple1) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is not white.
False
2
inv-proof
[(((triple1) -> rule5))]
("Bob" "is" "white" "-")
((triple1) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Erin is white.
True
3
proof
[(((((triple8) -> rule2)) -> rule5))]
("Erin" "is" "white" "+")
((((triple8) -> (rule2 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Charlie is not cold.
False
4
inv-proof
[(((triple6 ((triple5) -> rule2)) -> rule6) OR ((((triple3 triple7) -> rule4) ((triple5) -> rule2)) -> rule6) OR ((((triple3 ((((triple5) -> rule2)) -> rule5)) -> rule4) ((triple5) -> rule2)) -> rule6))]
("Charlie" "is" "cold" "-")
((triple6 ((triple5) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple3 triple7) -> (rule4 % int3)) ((triple5) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
((((triple3 ((((triple5) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2)) ((triple5) -> (rule2 % int4))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Bob is not cold.
Unknown
inv-rconc
[@1: Bob is cold.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "cold" "-")
Bob is round.
Unknown
random
[@0: Bob is round.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "round" "+")
Bob is not furry.
Unknown
inv-random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "-")
Bob is smart.
Unknown
random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Erin is green.
Unknown
random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "+")
@0: Bob is blue.[(triple1)] Bob is green.[(triple2)] Charlie is furry.[(triple3)] Charlie is green.[(triple4)] Charlie is round.[(triple5)] Charlie is smart.[(triple6 OR ((triple3 triple7) -> rule4) OR ((triple3 ((((triple5) -> rule2)) -> rule5)) -> rule4))] Charlie is white.[(triple7 OR ((((triple5) -> rule2)) -> rule5))] Erin is round.[(triple8)] Erin is smart.[(triple9)] Gary is blue.[(triple10 OR ((triple14) -> rule2))] Gary is cold.[(triple11 OR ((triple14 triple10) -> rule3) OR ((triple15 triple10) -> rule6) OR ((triple14 ((triple14) -> rule2)) -> rule3) OR ((triple15 ((triple14) -> rule2)) -> rule6))] Gary is furry.[(triple12 OR ((triple14) -> rule1))] Gary is green.[(triple13)] Gary is round.[(triple14)] Gary is smart.[(triple15)] Gary is white.[(triple16 OR ((triple10) -> rule5) OR ((((triple14) -> rule2)) -> rule5))] @1: Bob is white.[(((triple1) -> rule5))] Charlie is blue.[(((triple5) -> rule2))] Erin is blue.[(((triple8) -> rule2))] @2: Charlie is cold.[(((triple6 ((triple5) -> rule2)) -> rule6) OR ((((triple3 triple7) -> rule4) ((triple5) -> rule2)) -> rule6) OR ((((triple3 ((((triple5) -> rule2)) -> rule5)) -> rule4) ((triple5) -> rule2)) -> rule6))] Erin is cold.[(((triple9 ((triple8) -> rule2)) -> rule6))] Erin is white.[(((((triple8) -> rule2)) -> rule5))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple3
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Charlie is round.
("Charlie" "is" "round" "+")
triple5
Charlie is smart.
("Charlie" "is" "smart" "+")
triple6
((triple3 triple7) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((triple3 ((((triple5) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
triple7
((((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
triple8
Erin is smart.
("Erin" "is" "smart" "+")
triple9
Gary is blue.
("Gary" "is" "blue" "+")
triple10
((triple14) -> (rule2 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
triple11
((triple14 triple10) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((triple15 triple10) -> (rule6 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((triple14 ((triple14) -> (rule2 % int2))) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
((triple15 ((triple14) -> (rule2 % int2))) -> (rule6 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
triple12
((triple14) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
triple13
Gary is round.
("Gary" "is" "round" "+")
triple14
Gary is smart.
("Gary" "is" "smart" "+")
triple15
Gary is white.
("Gary" "is" "white" "+")
triple16
((triple10) -> (rule5 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((((triple14) -> (rule2 % int2))) -> (rule5 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
((triple1) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple5) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
((triple8) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple6 ((triple5) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple3 triple7) -> (rule4 % int3)) ((triple5) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
int3
((((triple3 ((((triple5) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2)) ((triple5) -> (rule2 % int4))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
((triple9 ((triple8) -> (rule2 % int2))) -> (rule6 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
((((triple8) -> (rule2 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2