The cat is kind. The cat sees the squirrel. The cat visits the squirrel. The squirrel is blue. The squirrel is kind. The squirrel is nice. The squirrel is round. The squirrel needs the cat. The squirrel sees the cat. The squirrel visits the cat. If someone is kind then they need the squirrel. If someone is round then they see the squirrel. If someone visits the cat and the cat visits the squirrel then the cat is nice. If the cat is round and the cat is kind then the cat is blue. If someone is young and they see the squirrel then they visit the squirrel. If someone is blue and they need the squirrel then they visit the cat. If the squirrel needs the cat and the squirrel visits the cat then the cat is round. If someone needs the squirrel and the squirrel visits the cat then the squirrel sees the cat.
The cat is kind.
("cat" "is" "kind" "+")
The cat sees the squirrel.
("cat" "sees" "squirrel" "+")
The cat visits the squirrel.
("cat" "visits" "squirrel" "+")
The squirrel is blue.
("squirrel" "is" "blue" "+")
The squirrel is kind.
("squirrel" "is" "kind" "+")
The squirrel is nice.
("squirrel" "is" "nice" "+")
The squirrel is round.
("squirrel" "is" "round" "+")
The squirrel needs the cat.
("squirrel" "needs" "cat" "+")
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
If someone is kind then they need the squirrel.
((("someone" "is" "kind" "+")) -> ("someone" "needs" "squirrel" "+"))
If someone is round then they see the squirrel.
((("someone" "is" "round" "+")) -> ("someone" "sees" "squirrel" "+"))
If someone visits the cat and the cat visits the squirrel then the cat is nice.
((("someone" "visits" "cat" "+") ("cat" "visits" "squirrel" "+")) -> ("cat" "is" "nice" "+"))
If the cat is round and the cat is kind then the cat is blue.
((("cat" "is" "round" "+") ("cat" "is" "kind" "+")) -> ("cat" "is" "blue" "+"))
If someone is young and they see the squirrel then they visit the squirrel.
((("someone" "is" "young" "+") ("someone" "sees" "squirrel" "+")) -> ("someone" "visits" "squirrel" "+"))
If someone is blue and they need the squirrel then they visit the cat.
((("someone" "is" "blue" "+") ("someone" "needs" "squirrel" "+")) -> ("someone" "visits" "cat" "+"))
If the squirrel needs the cat and the squirrel visits the cat then the cat is round.
((("squirrel" "needs" "cat" "+") ("squirrel" "visits" "cat" "+")) -> ("cat" "is" "round" "+"))
If someone needs the squirrel and the squirrel visits the cat then the squirrel sees the cat.
((("someone" "needs" "squirrel" "+") ("squirrel" "visits" "cat" "+")) -> ("squirrel" "sees" "cat" "+"))
The squirrel visits the cat.
True
1
proof
[(triple10 OR ((triple4 ((triple5) -> rule1)) -> rule6))]
("squirrel" "visits" "cat" "+")
triple10
((triple4 ((triple5) -> (rule1 % int2))) -> (rule6 % int1))
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int1
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int2
The squirrel does not see the cat.
False
1
inv-proof
[(triple9 OR ((((triple1) -> rule1) triple10) -> rule8) OR ((((triple5) -> rule1) triple10) -> rule8) OR ((((triple1) -> rule1) ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule8) OR ((((triple5) -> rule1) ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule8))]
("squirrel" "sees" "cat" "-")
triple9
((((triple1) -> (rule1 % int2)) triple10) -> (rule8 % int1))
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
int1
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int2
((((triple5) -> (rule1 % int2)) triple10) -> (rule8 % int1))
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
int1
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int2
((((triple1) -> (rule1 % int4)) ((triple4 ((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
int1
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int2
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int3
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int4
((((triple5) -> (rule1 % int3)) ((triple4 ((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
int1
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int2
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int3
The squirrel sees the squirrel.
True
2
proof
[(((triple7) -> rule2))]
("squirrel" "sees" "squirrel" "+")
((triple7) -> (rule2 % int1))
The squirrel sees the squirrel.
("squirrel" "sees" "squirrel" "+")
int1
The cat is not round.
False
3
inv-proof
[(((triple8 triple10) -> rule7) OR ((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7))]
("cat" "is" "round" "-")
((triple8 triple10) -> (rule7 % int1))
The cat is round.
("cat" "is" "round" "+")
int1
((triple8 ((triple4 ((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
The cat is round.
("cat" "is" "round" "+")
int1
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int2
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int3
The cat is blue.
True
5
proof
[(((((triple8 triple10) -> rule7) triple1) -> rule4) OR ((((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7) triple1) -> rule4))]
("cat" "is" "blue" "+")
((((triple8 triple10) -> (rule7 % int2)) triple1) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
((((triple8 ((triple4 ((triple5) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2)) triple1) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int3
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int4
The cat is not blue.
False
5
inv-proof
[(((((triple8 triple10) -> rule7) triple1) -> rule4) OR ((((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7) triple1) -> rule4))]
("cat" "is" "blue" "-")
((((triple8 triple10) -> (rule7 % int2)) triple1) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
((((triple8 ((triple4 ((triple5) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2)) triple1) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int3
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int4
The cat visits the cat.
True
8
proof
[(((((((triple8 triple10) -> rule7) triple1) -> rule4) ((triple1) -> rule1)) -> rule6) OR ((((((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7) triple1) -> rule4) ((triple1) -> rule1)) -> rule6))]
("cat" "visits" "cat" "+")
((((((triple8 triple10) -> (rule7 % int4)) triple1) -> (rule4 % int3)) ((triple1) -> (rule1 % int2))) -> (rule6 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The cat is round.
("cat" "is" "round" "+")
int4
((((((triple8 ((triple4 ((triple5) -> (rule1 % int6))) -> (rule6 % int5))) -> (rule7 % int4)) triple1) -> (rule4 % int3)) ((triple1) -> (rule1 % int2))) -> (rule6 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The cat is round.
("cat" "is" "round" "+")
int4
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int5
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int6
The cat does not visit the cat.
False
8
inv-proof
[(((((((triple8 triple10) -> rule7) triple1) -> rule4) ((triple1) -> rule1)) -> rule6) OR ((((((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7) triple1) -> rule4) ((triple1) -> rule1)) -> rule6))]
("cat" "visits" "cat" "-")
((((((triple8 triple10) -> (rule7 % int4)) triple1) -> (rule4 % int3)) ((triple1) -> (rule1 % int2))) -> (rule6 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The cat is round.
("cat" "is" "round" "+")
int4
((((((triple8 ((triple4 ((triple5) -> (rule1 % int6))) -> (rule6 % int5))) -> (rule7 % int4)) triple1) -> (rule4 % int3)) ((triple1) -> (rule1 % int2))) -> (rule6 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The cat is round.
("cat" "is" "round" "+")
int4
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int5
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int6
The squirrel does not visit the squirrel.
Unknown
inv-rconc
[@1: The squirrel visits the squirrel.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("squirrel" "visits" "squirrel" "-")
The cat needs the cat.
Unknown
random
[@0: The cat needs the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "needs" "cat" "+")
The squirrel is not young.
Unknown
inv-random
[@0: The squirrel is young.[CWA. Example of deepest failure = (FAIL)]]
("squirrel" "is" "young" "-")
The cat is young.
Unknown
random
[@0: The cat is young.[CWA. Example of deepest failure = (FAIL)]]
("cat" "is" "young" "+")
@0: The cat is kind.[(triple1)] The cat sees the squirrel.[(triple2 OR ((((triple8 triple10) -> rule7)) -> rule2) OR ((((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7)) -> rule2))] The cat visits the squirrel.[(triple3)] The squirrel is blue.[(triple4)] The squirrel is kind.[(triple5)] The squirrel is nice.[(triple6)] The squirrel is round.[(triple7)] The squirrel needs the cat.[(triple8)] The squirrel sees the cat.[(triple9 OR ((((triple1) -> rule1) triple10) -> rule8) OR ((((triple5) -> rule1) triple10) -> rule8) OR ((((triple1) -> rule1) ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule8) OR ((((triple5) -> rule1) ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule8))] The squirrel visits the cat.[(triple10 OR ((triple4 ((triple5) -> rule1)) -> rule6))] @1: The cat is nice.[(((triple10 triple3) -> rule3) OR ((((triple4 ((triple5) -> rule1)) -> rule6) triple3) -> rule3) OR ((((((((triple8 triple10) -> rule7) triple1) -> rule4) ((triple1) -> rule1)) -> rule6) triple3) -> rule3) OR ((((((((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7) triple1) -> rule4) ((triple1) -> rule1)) -> rule6) triple3) -> rule3))] The cat is round.[(((triple8 triple10) -> rule7) OR ((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7))] The cat needs the squirrel.[(((triple1) -> rule1))] The squirrel needs the squirrel.[(((triple5) -> rule1))] The squirrel sees the squirrel.[(((triple7) -> rule2))] @2: The cat is blue.[(((((triple8 triple10) -> rule7) triple1) -> rule4) OR ((((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7) triple1) -> rule4))] @3: The cat visits the cat.[(((((((triple8 triple10) -> rule7) triple1) -> rule4) ((triple1) -> rule1)) -> rule6) OR ((((((triple8 ((triple4 ((triple5) -> rule1)) -> rule6)) -> rule7) triple1) -> rule4) ((triple1) -> rule1)) -> rule6))]
The cat is kind.
("cat" "is" "kind" "+")
triple1
The cat sees the squirrel.
("cat" "sees" "squirrel" "+")
triple2
((((triple8 triple10) -> (rule7 % int2))) -> (rule2 % int1))
The cat sees the squirrel.
("cat" "sees" "squirrel" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
((((triple8 ((triple4 ((triple5) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
The cat sees the squirrel.
("cat" "sees" "squirrel" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int3
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int4
The cat visits the squirrel.
("cat" "visits" "squirrel" "+")
triple3
The squirrel is blue.
("squirrel" "is" "blue" "+")
triple4
The squirrel is kind.
("squirrel" "is" "kind" "+")
triple5
The squirrel is nice.
("squirrel" "is" "nice" "+")
triple6
The squirrel is round.
("squirrel" "is" "round" "+")
triple7
The squirrel needs the cat.
("squirrel" "needs" "cat" "+")
triple8
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
triple9
((((triple1) -> (rule1 % int2)) triple10) -> (rule8 % int1))
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
int1
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int2
((((triple5) -> (rule1 % int2)) triple10) -> (rule8 % int1))
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
int1
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int2
((((triple1) -> (rule1 % int4)) ((triple4 ((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
int1
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int2
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int3
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int4
((((triple5) -> (rule1 % int3)) ((triple4 ((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule8 % int1))
The squirrel sees the cat.
("squirrel" "sees" "cat" "+")
int1
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int2
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int3
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
triple10
((triple4 ((triple5) -> (rule1 % int2))) -> (rule6 % int1))
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int1
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int2
The cat is nice.
("cat" "is" "nice" "+")
((triple10 triple3) -> (rule3 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
((((triple4 ((triple5) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int2
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int3
((((((((triple8 triple10) -> (rule7 % int5)) triple1) -> (rule4 % int4)) ((triple1) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The cat is round.
("cat" "is" "round" "+")
int5
((((((((triple8 ((triple4 ((triple5) -> (rule1 % int7))) -> (rule6 % int6))) -> (rule7 % int5)) triple1) -> (rule4 % int4)) ((triple1) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The cat is round.
("cat" "is" "round" "+")
int5
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int6
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int7
The cat is round.
("cat" "is" "round" "+")
((triple8 triple10) -> (rule7 % int1))
The cat is round.
("cat" "is" "round" "+")
int1
((triple8 ((triple4 ((triple5) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
The cat is round.
("cat" "is" "round" "+")
int1
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int2
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int3
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
((triple1) -> (rule1 % int1))
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int1
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
((triple5) -> (rule1 % int1))
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int1
The squirrel sees the squirrel.
("squirrel" "sees" "squirrel" "+")
((triple7) -> (rule2 % int1))
The squirrel sees the squirrel.
("squirrel" "sees" "squirrel" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
((((triple8 triple10) -> (rule7 % int2)) triple1) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
((((triple8 ((triple4 ((triple5) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule7 % int2)) triple1) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int3
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int4
The cat visits the cat.
("cat" "visits" "cat" "+")
((((((triple8 triple10) -> (rule7 % int4)) triple1) -> (rule4 % int3)) ((triple1) -> (rule1 % int2))) -> (rule6 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The cat is round.
("cat" "is" "round" "+")
int4
((((((triple8 ((triple4 ((triple5) -> (rule1 % int6))) -> (rule6 % int5))) -> (rule7 % int4)) triple1) -> (rule4 % int3)) ((triple1) -> (rule1 % int2))) -> (rule6 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat needs the squirrel.
("cat" "needs" "squirrel" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The cat is round.
("cat" "is" "round" "+")
int4
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
int5
The squirrel needs the squirrel.
("squirrel" "needs" "squirrel" "+")
int6