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