The cat is big. The cat is blue. The cat is red. The cat is round. The cat is young. The cat likes the cow. The cat needs the cow. The cat sees the cow. The cow is big. The cow is blue. The cow is round. The cow needs the cat. If something needs the cow and it is round then it sees the cow. If something needs the cat then it needs the cow. If something is blue then it needs the cow. All young things are blue. If something needs the cow and the cow likes the cat then the cow sees the cat. If the cat sees the cow then the cat is big. If the cat needs the cow and the cow sees the cat then the cow likes the cat. If something sees the cow then it is young.
The cat is big.
("cat" "is" "big" "+")
The cat is blue.
("cat" "is" "blue" "+")
The cat is red.
("cat" "is" "red" "+")
The cat is round.
("cat" "is" "round" "+")
The cat is young.
("cat" "is" "young" "+")
The cat likes the cow.
("cat" "likes" "cow" "+")
The cat needs the cow.
("cat" "needs" "cow" "+")
The cat sees the cow.
("cat" "sees" "cow" "+")
The cow is big.
("cow" "is" "big" "+")
The cow is blue.
("cow" "is" "blue" "+")
The cow is round.
("cow" "is" "round" "+")
The cow needs the cat.
("cow" "needs" "cat" "+")
If something needs the cow and it is round then it sees the cow.
((("something" "needs" "cow" "+") ("something" "is" "round" "+")) -> ("something" "sees" "cow" "+"))
If something needs the cat then it needs the cow.
((("something" "needs" "cat" "+")) -> ("something" "needs" "cow" "+"))
If something is blue then it needs the cow.
((("something" "is" "blue" "+")) -> ("something" "needs" "cow" "+"))
All young things are blue.
((("something" "is" "young" "+")) -> ("something" "is" "blue" "+"))
If something needs the cow and the cow likes the cat then the cow sees the cat.
((("something" "needs" "cow" "+") ("cow" "likes" "cat" "+")) -> ("cow" "sees" "cat" "+"))
If the cat sees the cow then the cat is big.
((("cat" "sees" "cow" "+")) -> ("cat" "is" "big" "+"))
If the cat needs the cow and the cow sees the cat then the cow likes the cat.
((("cat" "needs" "cow" "+") ("cow" "sees" "cat" "+")) -> ("cow" "likes" "cat" "+"))
If something sees the cow then it is young.
((("something" "sees" "cow" "+")) -> ("something" "is" "young" "+"))
The cow is round.
True
1
proof
[(triple11)]
("cow" "is" "round" "+")
triple11
The cat does not like the cow.
False
1
inv-proof
[(triple6)]
("cat" "likes" "cow" "-")
triple6
The cow needs the cow.
True
2
proof
[(((triple10) -> rule3) OR ((triple12) -> rule2))]
("cow" "needs" "cow" "+")
((triple10) -> (rule3 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
((triple12) -> (rule2 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow does not need the cow.
False
2
inv-proof
[(((triple10) -> rule3) OR ((triple12) -> rule2))]
("cow" "needs" "cow" "-")
((triple10) -> (rule3 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
((triple12) -> (rule2 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow sees the cow.
True
4
proof
[(((((triple10) -> rule3) triple11) -> rule1) OR ((((triple12) -> rule2) triple11) -> rule1))]
("cow" "sees" "cow" "+")
((((triple10) -> (rule3 % int2)) triple11) -> (rule1 % int1))
The cow sees the cow.
("cow" "sees" "cow" "+")
int1
The cow needs the cow.
("cow" "needs" "cow" "+")
int2
((((triple12) -> (rule2 % int2)) triple11) -> (rule1 % int1))
The cow sees the cow.
("cow" "sees" "cow" "+")
int1
The cow needs the cow.
("cow" "needs" "cow" "+")
int2
The cow does not see the cow.
False
4
inv-proof
[(((((triple10) -> rule3) triple11) -> rule1) OR ((((triple12) -> rule2) triple11) -> rule1))]
("cow" "sees" "cow" "-")
((((triple10) -> (rule3 % int2)) triple11) -> (rule1 % int1))
The cow sees the cow.
("cow" "sees" "cow" "+")
int1
The cow needs the cow.
("cow" "needs" "cow" "+")
int2
((((triple12) -> (rule2 % int2)) triple11) -> (rule1 % int1))
The cow sees the cow.
("cow" "sees" "cow" "+")
int1
The cow needs the cow.
("cow" "needs" "cow" "+")
int2
The cow is young.
True
5
proof
[(((((((triple10) -> rule3) triple11) -> rule1)) -> rule8) OR ((((((triple12) -> rule2) triple11) -> rule1)) -> rule8))]
("cow" "is" "young" "+")
((((((triple10) -> (rule3 % int3)) triple11) -> (rule1 % int2))) -> (rule8 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow sees the cow.
("cow" "sees" "cow" "+")
int2
The cow needs the cow.
("cow" "needs" "cow" "+")
int3
((((((triple12) -> (rule2 % int3)) triple11) -> (rule1 % int2))) -> (rule8 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow sees the cow.
("cow" "sees" "cow" "+")
int2
The cow needs the cow.
("cow" "needs" "cow" "+")
int3
The cow is not young.
False
5
inv-proof
[(((((((triple10) -> rule3) triple11) -> rule1)) -> rule8) OR ((((((triple12) -> rule2) triple11) -> rule1)) -> rule8))]
("cow" "is" "young" "-")
((((((triple10) -> (rule3 % int3)) triple11) -> (rule1 % int2))) -> (rule8 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow sees the cow.
("cow" "sees" "cow" "+")
int2
The cow needs the cow.
("cow" "needs" "cow" "+")
int3
((((((triple12) -> (rule2 % int3)) triple11) -> (rule1 % int2))) -> (rule8 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow sees the cow.
("cow" "sees" "cow" "+")
int2
The cow needs the cow.
("cow" "needs" "cow" "+")
int3
The cow does not like the cat.
Unknown
inv-rconc
[@2: The cow likes the cat.[CWA. Example of deepest failure = (rule7 <- rule5 <- FAIL)]]
("cow" "likes" "cat" "-")
The cow sees the cat.
Unknown
rconc
[@2: The cow sees the cat.[CWA. Example of deepest failure = (rule5 <- rule7 <- FAIL)]]
("cow" "sees" "cat" "+")
The cow is not red.
Unknown
inv-random
[@0: The cow is red.[CWA. Example of deepest failure = (FAIL)]]
("cow" "is" "red" "-")
The cat needs the cat.
Unknown
random
[@0: The cat needs the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "needs" "cat" "+")
The cow does not like the cow.
Unknown
inv-random
[@0: The cow likes the cow.[CWA. Example of deepest failure = (FAIL)]]
("cow" "likes" "cow" "-")
The cat sees the cat.
Unknown
random
[@0: The cat sees the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "sees" "cat" "+")
@0: The cat is big.[(triple1 OR ((triple8) -> rule6) OR ((((triple7 triple4) -> rule1)) -> rule6) OR ((((((triple2) -> rule3) triple4) -> rule1)) -> rule6) OR ((((((((triple5) -> rule4)) -> rule3) triple4) -> rule1)) -> rule6))] The cat is blue.[(triple2 OR ((triple5) -> rule4) OR ((((triple8) -> rule8)) -> rule4) OR ((((((triple7 triple4) -> rule1)) -> rule8)) -> rule4))] The cat is red.[(triple3)] The cat is round.[(triple4)] The cat is young.[(triple5 OR ((triple8) -> rule8) OR ((((triple7 triple4) -> rule1)) -> rule8) OR ((((((triple2) -> rule3) triple4) -> rule1)) -> rule8))] The cat likes the cow.[(triple6)] The cat needs the cow.[(triple7 OR ((triple2) -> rule3) OR ((((triple5) -> rule4)) -> rule3) OR ((((((triple8) -> rule8)) -> rule4)) -> rule3))] The cat sees the cow.[(triple8 OR ((triple7 triple4) -> rule1) OR ((((triple2) -> rule3) triple4) -> rule1) OR ((((((triple5) -> rule4)) -> rule3) triple4) -> rule1))] The cow is big.[(triple9)] The cow is blue.[(triple10 OR ((((((((triple12) -> rule2) triple11) -> rule1)) -> rule8)) -> rule4))] The cow is round.[(triple11)] The cow needs the cat.[(triple12)] @1: The cow needs the cow.[(((triple10) -> rule3) OR ((triple12) -> rule2))] @2: The cow sees the cow.[(((((triple10) -> rule3) triple11) -> rule1) OR ((((triple12) -> rule2) triple11) -> rule1))] @3: The cow is young.[(((((((triple10) -> rule3) triple11) -> rule1)) -> rule8) OR ((((((triple12) -> rule2) triple11) -> rule1)) -> rule8))]
The cat is big.
("cat" "is" "big" "+")
triple1
((triple8) -> (rule6 % int1))
The cat is big.
("cat" "is" "big" "+")
int1
((((triple7 triple4) -> (rule1 % int2))) -> (rule6 % int1))
The cat is big.
("cat" "is" "big" "+")
int1
The cat sees the cow.
("cat" "sees" "cow" "+")
int2
((((((triple2) -> (rule3 % int3)) triple4) -> (rule1 % int2))) -> (rule6 % int1))
The cat is big.
("cat" "is" "big" "+")
int1
The cat sees the cow.
("cat" "sees" "cow" "+")
int2
The cat needs the cow.
("cat" "needs" "cow" "+")
int3
((((((((triple5) -> (rule4 % int4))) -> (rule3 % int3)) triple4) -> (rule1 % int2))) -> (rule6 % int1))
The cat is big.
("cat" "is" "big" "+")
int1
The cat sees the cow.
("cat" "sees" "cow" "+")
int2
The cat needs the cow.
("cat" "needs" "cow" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The cat is blue.
("cat" "is" "blue" "+")
triple2
((triple5) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
((((triple8) -> (rule8 % int2))) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
((((((triple7 triple4) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat sees the cow.
("cat" "sees" "cow" "+")
int3
The cat is red.
("cat" "is" "red" "+")
triple3
The cat is round.
("cat" "is" "round" "+")
triple4
The cat is young.
("cat" "is" "young" "+")
triple5
((triple8) -> (rule8 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
((((triple7 triple4) -> (rule1 % int2))) -> (rule8 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat sees the cow.
("cat" "sees" "cow" "+")
int2
((((((triple2) -> (rule3 % int3)) triple4) -> (rule1 % int2))) -> (rule8 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat sees the cow.
("cat" "sees" "cow" "+")
int2
The cat needs the cow.
("cat" "needs" "cow" "+")
int3
The cat likes the cow.
("cat" "likes" "cow" "+")
triple6
The cat needs the cow.
("cat" "needs" "cow" "+")
triple7
((triple2) -> (rule3 % int1))
The cat needs the cow.
("cat" "needs" "cow" "+")
int1
((((triple5) -> (rule4 % int2))) -> (rule3 % int1))
The cat needs the cow.
("cat" "needs" "cow" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
((((((triple8) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
The cat needs the cow.
("cat" "needs" "cow" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
The cat sees the cow.
("cat" "sees" "cow" "+")
triple8
((triple7 triple4) -> (rule1 % int1))
The cat sees the cow.
("cat" "sees" "cow" "+")
int1
((((triple2) -> (rule3 % int2)) triple4) -> (rule1 % int1))
The cat sees the cow.
("cat" "sees" "cow" "+")
int1
The cat needs the cow.
("cat" "needs" "cow" "+")
int2
((((((triple5) -> (rule4 % int3))) -> (rule3 % int2)) triple4) -> (rule1 % int1))
The cat sees the cow.
("cat" "sees" "cow" "+")
int1
The cat needs the cow.
("cat" "needs" "cow" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The cow is big.
("cow" "is" "big" "+")
triple9
The cow is blue.
("cow" "is" "blue" "+")
triple10
((((((((triple12) -> (rule2 % int4)) triple11) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
The cow is blue.
("cow" "is" "blue" "+")
int1
The cow is young.
("cow" "is" "young" "+")
int2
The cow sees the cow.
("cow" "sees" "cow" "+")
int3
The cow needs the cow.
("cow" "needs" "cow" "+")
int4
The cow is round.
("cow" "is" "round" "+")
triple11
The cow needs the cat.
("cow" "needs" "cat" "+")
triple12
The cow needs the cow.
("cow" "needs" "cow" "+")
((triple10) -> (rule3 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
((triple12) -> (rule2 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow sees the cow.
("cow" "sees" "cow" "+")
((((triple10) -> (rule3 % int2)) triple11) -> (rule1 % int1))
The cow sees the cow.
("cow" "sees" "cow" "+")
int1
The cow needs the cow.
("cow" "needs" "cow" "+")
int2
((((triple12) -> (rule2 % int2)) triple11) -> (rule1 % int1))
The cow sees the cow.
("cow" "sees" "cow" "+")
int1
The cow needs the cow.
("cow" "needs" "cow" "+")
int2
The cow is young.
("cow" "is" "young" "+")
((((((triple10) -> (rule3 % int3)) triple11) -> (rule1 % int2))) -> (rule8 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow sees the cow.
("cow" "sees" "cow" "+")
int2
The cow needs the cow.
("cow" "needs" "cow" "+")
int3
((((((triple12) -> (rule2 % int3)) triple11) -> (rule1 % int2))) -> (rule8 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow sees the cow.
("cow" "sees" "cow" "+")
int2
The cow needs the cow.
("cow" "needs" "cow" "+")
int3