Anne is big. Anne is blue. Dave is big. Dave is green. Erin is blue. Erin is red. Erin is round. Erin is young. Gary is big. Gary is furry. If Dave is green then Dave is big. If Erin is young then Erin is round. Round people are young. If someone is young then they are red. Blue people are green. If Gary is big and Gary is round then Gary is blue. All green, big people are furry. Furry people are round. Blue people are green.
Anne is big.
("Anne" "is" "big" "+")
Anne is blue.
("Anne" "is" "blue" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is green.
("Dave" "is" "green" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is young.
("Erin" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is furry.
("Gary" "is" "furry" "+")
If Dave is green then Dave is big.
((("Dave" "is" "green" "+")) -> ("Dave" "is" "big" "+"))
If Erin is young then Erin is round.
((("Erin" "is" "young" "+")) -> ("Erin" "is" "round" "+"))
Round people are young.
((("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
If someone is young then they are red.
((("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
Blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
If Gary is big and Gary is round then Gary is blue.
((("Gary" "is" "big" "+") ("Gary" "is" "round" "+")) -> ("Gary" "is" "blue" "+"))
All green, big people are furry.
((("someone" "is" "green" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
Furry people are round.
((("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
Blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
Erin is young.
True
1
proof
[(triple8 OR ((triple7) -> rule3))]
("Erin" "is" "young" "+")
triple8
((triple7) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Anne is not blue.
False
1
inv-proof
[(triple2)]
("Anne" "is" "blue" "-")
triple2
Gary is round.
True
2
proof
[(((triple10) -> rule8))]
("Gary" "is" "round" "+")
((triple10) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Dave is not furry.
False
3
inv-proof
[(((triple4 triple3) -> rule7) OR ((triple4 ((triple4) -> rule1)) -> rule7))]
("Dave" "is" "furry" "-")
((triple4 triple3) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple4 ((triple4) -> (rule1 % int2))) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is round.
True
4
proof
[(((((triple4 triple3) -> rule7)) -> rule8) OR ((((triple4 ((triple4) -> rule1)) -> rule7)) -> rule8))]
("Dave" "is" "round" "+")
((((triple4 triple3) -> (rule7 % int2))) -> (rule8 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple4 ((triple4) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Gary is not blue.
False
4
inv-proof
[(((triple9 ((triple10) -> rule8)) -> rule6))]
("Gary" "is" "blue" "-")
((triple9 ((triple10) -> (rule8 % int2))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is green.
True
5
proof
[(((((triple9 ((triple10) -> rule8)) -> rule6)) -> rule5) OR ((((triple9 ((triple10) -> rule8)) -> rule6)) -> rule9))]
("Gary" "is" "green" "+")
((((triple9 ((triple10) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((triple9 ((triple10) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is not green.
False
5
inv-proof
[(((((triple9 ((triple10) -> rule8)) -> rule6)) -> rule5) OR ((((triple9 ((triple10) -> rule8)) -> rule6)) -> rule9))]
("Gary" "is" "green" "-")
((((triple9 ((triple10) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((triple9 ((triple10) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Anne is young.
True
6
proof
[(((((((((triple2) -> rule5) triple1) -> rule7)) -> rule8)) -> rule3) OR ((((((((triple2) -> rule9) triple1) -> rule7)) -> rule8)) -> rule3))]
("Anne" "is" "young" "+")
((((((((triple2) -> (rule5 % int4)) triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((((triple2) -> (rule9 % int4)) triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is not young.
False
6
inv-proof
[(((((((((triple2) -> rule5) triple1) -> rule7)) -> rule8)) -> rule3) OR ((((((((triple2) -> rule9) triple1) -> rule7)) -> rule8)) -> rule3))]
("Anne" "is" "young" "-")
((((((((triple2) -> (rule5 % int4)) triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((((triple2) -> (rule9 % int4)) triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is red.
True
7
proof
[(((((((((((triple2) -> rule5) triple1) -> rule7)) -> rule8)) -> rule3)) -> rule4) OR ((((((((((triple2) -> rule9) triple1) -> rule7)) -> rule8)) -> rule3)) -> rule4))]
("Anne" "is" "red" "+")
((((((((((triple2) -> (rule5 % int5)) triple1) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
((((((((((triple2) -> (rule9 % int5)) triple1) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
Anne is not red.
False
7
inv-proof
[(((((((((((triple2) -> rule5) triple1) -> rule7)) -> rule8)) -> rule3)) -> rule4) OR ((((((((((triple2) -> rule9) triple1) -> rule7)) -> rule8)) -> rule3)) -> rule4))]
("Anne" "is" "red" "-")
((((((((((triple2) -> (rule5 % int5)) triple1) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
((((((((((triple2) -> (rule9 % int5)) triple1) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
Erin is not furry.
Unknown
inv-rconc
[@1: Erin is furry.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Erin" "is" "furry" "-")
Erin is big.
Unknown
random
[@0: Erin is big.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "big" "+")
@0: Anne is big.[(triple1)] Anne is blue.[(triple2)] Dave is big.[(triple3 OR ((triple4) -> rule1))] Dave is green.[(triple4)] Erin is blue.[(triple5)] Erin is red.[(triple6 OR ((triple8) -> rule4) OR ((((triple7) -> rule3)) -> rule4))] Erin is round.[(triple7 OR ((triple8) -> rule2))] Erin is young.[(triple8 OR ((triple7) -> rule3))] Gary is big.[(triple9)] Gary is furry.[(triple10)] @1: Anne is green.[(((triple2) -> rule5) OR ((triple2) -> rule9))] Dave is furry.[(((triple4 triple3) -> rule7) OR ((triple4 ((triple4) -> rule1)) -> rule7))] Erin is green.[(((triple5) -> rule5) OR ((triple5) -> rule9))] Gary is round.[(((triple10) -> rule8))] @2: Anne is furry.[(((((triple2) -> rule5) triple1) -> rule7) OR ((((triple2) -> rule9) triple1) -> rule7))] Dave is round.[(((((triple4 triple3) -> rule7)) -> rule8) OR ((((triple4 ((triple4) -> rule1)) -> rule7)) -> rule8))] Gary is blue.[(((triple9 ((triple10) -> rule8)) -> rule6))] Gary is young.[(((((triple10) -> rule8)) -> rule3))] @3: Anne is round.[(((((((triple2) -> rule5) triple1) -> rule7)) -> rule8) OR ((((((triple2) -> rule9) triple1) -> rule7)) -> rule8))] Dave is young.[(((((((triple4 triple3) -> rule7)) -> rule8)) -> rule3) OR ((((((triple4 ((triple4) -> rule1)) -> rule7)) -> rule8)) -> rule3))] Gary is green.[(((((triple9 ((triple10) -> rule8)) -> rule6)) -> rule5) OR ((((triple9 ((triple10) -> rule8)) -> rule6)) -> rule9))] Gary is red.[(((((((triple10) -> rule8)) -> rule3)) -> rule4))] @4: Anne is young.[(((((((((triple2) -> rule5) triple1) -> rule7)) -> rule8)) -> rule3) OR ((((((((triple2) -> rule9) triple1) -> rule7)) -> rule8)) -> rule3))] Dave is red.[(((((((((triple4 triple3) -> rule7)) -> rule8)) -> rule3)) -> rule4) OR ((((((((triple4 ((triple4) -> rule1)) -> rule7)) -> rule8)) -> rule3)) -> rule4))] @5: Anne is red.[(((((((((((triple2) -> rule5) triple1) -> rule7)) -> rule8)) -> rule3)) -> rule4) OR ((((((((((triple2) -> rule9) triple1) -> rule7)) -> rule8)) -> rule3)) -> rule4))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is blue.
("Anne" "is" "blue" "+")
triple2
Dave is big.
("Dave" "is" "big" "+")
triple3
((triple4) -> (rule1 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple4
Erin is blue.
("Erin" "is" "blue" "+")
triple5
Erin is red.
("Erin" "is" "red" "+")
triple6
((triple8) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple7) -> (rule3 % int2))) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
triple7
((triple8) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
triple8
((triple7) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
triple9
Gary is furry.
("Gary" "is" "furry" "+")
triple10
Anne is green.
("Anne" "is" "green" "+")
((triple2) -> (rule5 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((triple2) -> (rule9 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple4 triple3) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple4 ((triple4) -> (rule1 % int2))) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((triple5) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((triple5) -> (rule9 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple10) -> (rule8 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((((triple2) -> (rule5 % int2)) triple1) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple2) -> (rule9 % int2)) triple1) -> (rule7 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
((((triple4 triple3) -> (rule7 % int2))) -> (rule8 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple4 ((triple4) -> (rule1 % int3))) -> (rule7 % int2))) -> (rule8 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
((triple9 ((triple10) -> (rule8 % int2))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
((((triple10) -> (rule8 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
((((((triple2) -> (rule5 % int3)) triple1) -> (rule7 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((((triple2) -> (rule9 % int3)) triple1) -> (rule7 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
((((((triple4 triple3) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((((triple4 ((triple4) -> (rule1 % int4))) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
((((triple9 ((triple10) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
((((triple9 ((triple10) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
((((((triple10) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Anne is young.
("Anne" "is" "young" "+")
((((((((triple2) -> (rule5 % int4)) triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((((triple2) -> (rule9 % int4)) triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
((((((((triple4 triple3) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
((((((((triple4 ((triple4) -> (rule1 % int5))) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is big.
("Dave" "is" "big" "+")
int5
Anne is red.
("Anne" "is" "red" "+")
((((((((((triple2) -> (rule5 % int5)) triple1) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
((((((((((triple2) -> (rule9 % int5)) triple1) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5