Anne is blue. Anne is round. Anne is smart. Bob is green. Bob is red. Charlie is round. Erin is cold. Erin is green. Erin is round. Erin is smart. All red things are green. If something is smart and cold then it is green. If something is round then it is cold. Green things are young. If something is blue and red then it is green. If Erin is smart then Erin is red. All young, cold things are round. If something is smart and young then it is red.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
All red things are green.
((("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
If something is smart and cold then it is green.
((("something" "is" "smart" "+") ("something" "is" "cold" "+")) -> ("something" "is" "green" "+"))
If something is round then it is cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
Green things are young.
((("something" "is" "green" "+")) -> ("something" "is" "young" "+"))
If something is blue and red then it is green.
((("something" "is" "blue" "+") ("something" "is" "red" "+")) -> ("something" "is" "green" "+"))
If Erin is smart then Erin is red.
((("Erin" "is" "smart" "+")) -> ("Erin" "is" "red" "+"))
All young, cold things are round.
((("something" "is" "young" "+") ("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If something is smart and young then it is red.
((("something" "is" "smart" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
Erin is smart.
True
1
proof
[(triple10)]
("Erin" "is" "smart" "+")
triple10
Anne is not round.
False
1
inv-proof
[(triple2)]
("Anne" "is" "round" "-")
triple2
Anne is cold.
True
2
proof
[(((triple2) -> rule3))]
("Anne" "is" "cold" "+")
((triple2) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Erin is not young.
False
2
inv-proof
[(((triple8) -> rule4) OR ((((triple10 triple7) -> rule2)) -> rule4) OR ((((((triple10) -> rule6)) -> rule1)) -> rule4) OR ((((triple10 ((triple9) -> rule3)) -> rule2)) -> rule4))]
("Erin" "is" "young" "-")
((triple8) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple10 triple7) -> (rule2 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
((((((triple10) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((((triple10 ((triple9) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Anne is green.
True
4
proof
[(((triple3 ((triple2) -> rule3)) -> rule2))]
("Anne" "is" "green" "+")
((triple3 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is not green.
False
4
inv-proof
[(((triple3 ((triple2) -> rule3)) -> rule2))]
("Anne" "is" "green" "-")
((triple3 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is young.
True
5
proof
[(((((triple3 ((triple2) -> rule3)) -> rule2)) -> rule4))]
("Anne" "is" "young" "+")
((((triple3 ((triple2) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is not young.
False
5
inv-proof
[(((((triple3 ((triple2) -> rule3)) -> rule2)) -> rule4))]
("Anne" "is" "young" "-")
((((triple3 ((triple2) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Charlie is not red.
Unknown
inv-rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Charlie" "is" "red" "-")
Bob is cold.
Unknown
rconc
[@2: Bob is cold.[CWA. Example of deepest failure = (rule3 <- rule7 <- FAIL)]]
("Bob" "is" "cold" "+")
Charlie is not green.
Unknown
inv-rconc
[@2: Charlie is green.[CWA. Example of deepest failure = (rule1 <- rule8 <- FAIL)]]
("Charlie" "is" "green" "-")
Charlie is young.
Unknown
rconc
[@3: Charlie is young.[CWA. Example of deepest failure = (rule4 <- rule1 <- rule8 <- FAIL)]]
("Charlie" "is" "young" "+")
Charlie is not smart.
Unknown
inv-random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "-")
Charlie is blue.
Unknown
random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Bob is smart.
Unknown
random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "+")
@0: Anne is blue.[(triple1)] Anne is round.[(triple2)] Anne is smart.[(triple3)] Bob is green.[(triple4 OR ((triple5) -> rule1))] Bob is red.[(triple5)] Charlie is round.[(triple6)] Erin is cold.[(triple7 OR ((triple9) -> rule3))] Erin is green.[(triple8 OR ((triple10 triple7) -> rule2) OR ((((triple10) -> rule6)) -> rule1) OR ((triple10 ((triple9) -> rule3)) -> rule2))] Erin is round.[(triple9 OR ((((triple8) -> rule4) triple7) -> rule7) OR ((((((triple10 triple7) -> rule2)) -> rule4) triple7) -> rule7) OR ((((((((triple10) -> rule6)) -> rule1)) -> rule4) triple7) -> rule7))] Erin is smart.[(triple10)] @1: Anne is cold.[(((triple2) -> rule3))] Bob is young.[(((triple4) -> rule4) OR ((((triple5) -> rule1)) -> rule4))] Charlie is cold.[(((triple6) -> rule3))] Erin is red.[(((triple10) -> rule6) OR ((triple10 ((triple8) -> rule4)) -> rule8) OR ((triple10 ((((triple10 triple7) -> rule2)) -> rule4)) -> rule8) OR ((triple10 ((((triple10 ((triple9) -> rule3)) -> rule2)) -> rule4)) -> rule8))] Erin is young.[(((triple8) -> rule4) OR ((((triple10 triple7) -> rule2)) -> rule4) OR ((((((triple10) -> rule6)) -> rule1)) -> rule4) OR ((((triple10 ((triple9) -> rule3)) -> rule2)) -> rule4))] @2: Anne is green.[(((triple3 ((triple2) -> rule3)) -> rule2))] @3: Anne is young.[(((((triple3 ((triple2) -> rule3)) -> rule2)) -> rule4))] @4: Anne is red.[(((triple3 ((((triple3 ((triple2) -> rule3)) -> rule2)) -> rule4)) -> rule8))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Anne is smart.
("Anne" "is" "smart" "+")
triple3
Bob is green.
("Bob" "is" "green" "+")
triple4
((triple5) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple5
Charlie is round.
("Charlie" "is" "round" "+")
triple6
Erin is cold.
("Erin" "is" "cold" "+")
triple7
((triple9) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
triple8
((triple10 triple7) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((((triple10) -> (rule6 % int2))) -> (rule1 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((triple10 ((triple9) -> (rule3 % int2))) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
triple9
((((triple8) -> (rule4 % int2)) triple7) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple10 triple7) -> (rule2 % int3))) -> (rule4 % int2)) triple7) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
((((((((triple10) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) triple7) -> (rule7 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is smart.
("Erin" "is" "smart" "+")
triple10
Anne is cold.
("Anne" "is" "cold" "+")
((triple2) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((triple4) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple6) -> (rule3 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((triple10) -> (rule6 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple10 ((triple8) -> (rule4 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((triple10 ((((triple10 triple7) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
((triple10 ((((triple10 ((triple9) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
int4
Erin is young.
("Erin" "is" "young" "+")
((triple8) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple10 triple7) -> (rule2 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
((((((triple10) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((((triple10 ((triple9) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
((triple3 ((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
((((triple3 ((triple2) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
((triple3 ((((triple3 ((triple2) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4