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