The cat is big. The cat is blue. The cat is green. The cat is red. The cat is rough. If someone is green and blue then they are rough. If someone is blue and red then they are big. If someone is big and blue then they are red. All big, red people are green. All big people are blue. Green people are big.
The cat is big.
("cat" "is" "big" "+")
The cat is blue.
("cat" "is" "blue" "+")
The cat is green.
("cat" "is" "green" "+")
The cat is red.
("cat" "is" "red" "+")
The cat is rough.
("cat" "is" "rough" "+")
If someone is green and blue then they are rough.
((("someone" "is" "green" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "rough" "+"))
If someone is blue and red then they are big.
((("someone" "is" "blue" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
If someone is big and blue then they are red.
((("someone" "is" "big" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "red" "+"))
All big, red people are green.
((("someone" "is" "big" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
All big people are blue.
((("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
Green people are big.
((("someone" "is" "green" "+")) -> ("someone" "is" "big" "+"))
The cat is red.
True
1
proof
[(triple4 OR ((triple1 triple2) -> rule3) OR ((triple1 ((triple1) -> rule5)) -> rule3) OR ((((triple3) -> rule6) triple2) -> rule3) OR ((((triple3) -> rule6) ((triple1) -> rule5)) -> rule3) OR ((triple1 ((((triple3) -> rule6)) -> rule5)) -> rule3) OR ((((triple3) -> rule6) ((((triple3) -> rule6)) -> rule5)) -> rule3))]
("cat" "is" "red" "+")
triple4
((triple1 triple2) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
((triple1 ((triple1) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
((((triple3) -> (rule6 % int2)) triple2) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is big.
("cat" "is" "big" "+")
int2
((((triple3) -> (rule6 % int3)) ((triple1) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((triple1 ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((((triple3) -> (rule6 % int3)) ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
The cat is not red.
False
1
inv-proof
[(triple4 OR ((triple1 triple2) -> rule3) OR ((triple1 ((triple1) -> rule5)) -> rule3) OR ((((triple3) -> rule6) triple2) -> rule3) OR ((((triple3) -> rule6) ((triple1) -> rule5)) -> rule3) OR ((triple1 ((((triple3) -> rule6)) -> rule5)) -> rule3) OR ((((triple3) -> rule6) ((((triple3) -> rule6)) -> rule5)) -> rule3))]
("cat" "is" "red" "-")
triple4
((triple1 triple2) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
((triple1 ((triple1) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
((((triple3) -> (rule6 % int2)) triple2) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is big.
("cat" "is" "big" "+")
int2
((((triple3) -> (rule6 % int3)) ((triple1) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((triple1 ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((((triple3) -> (rule6 % int3)) ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
The cat does not chase the cat.
Unknown
inv-random
[@0: The cat chases the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "chases" "cat" "-")
The cat eats the cat.
Unknown
random
[@0: The cat eats the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "eats" "cat" "+")
@0: The cat is big.[(triple1 OR ((triple3) -> rule6) OR ((triple2 triple4) -> rule2))] The cat is blue.[(triple2 OR ((triple1) -> rule5) OR ((((triple3) -> rule6)) -> rule5))] The cat is green.[(triple3 OR ((triple1 triple4) -> rule4) OR ((triple1 ((triple1 triple2) -> rule3)) -> rule4) OR ((((triple2 triple4) -> rule2) triple4) -> rule4) OR ((((triple2 triple4) -> rule2) ((triple1 triple2) -> rule3)) -> rule4) OR ((triple1 ((triple1 ((triple1) -> rule5)) -> rule3)) -> rule4) OR ((((triple2 triple4) -> rule2) ((triple1 ((triple1) -> rule5)) -> rule3)) -> rule4))] The cat is red.[(triple4 OR ((triple1 triple2) -> rule3) OR ((triple1 ((triple1) -> rule5)) -> rule3) OR ((((triple3) -> rule6) triple2) -> rule3) OR ((((triple3) -> rule6) ((triple1) -> rule5)) -> rule3) OR ((triple1 ((((triple3) -> rule6)) -> rule5)) -> rule3) OR ((((triple3) -> rule6) ((((triple3) -> rule6)) -> rule5)) -> rule3))] The cat is rough.[(triple5 OR ((triple3 triple2) -> rule1) OR ((triple3 ((triple1) -> rule5)) -> rule1) OR ((((triple1 triple4) -> rule4) triple2) -> rule1) OR ((((triple1 triple4) -> rule4) ((triple1) -> rule5)) -> rule1) OR ((triple3 ((((triple3) -> rule6)) -> rule5)) -> rule1) OR ((((triple1 ((triple1 triple2) -> rule3)) -> rule4) triple2) -> rule1) OR ((((((triple2 triple4) -> rule2) triple4) -> rule4) triple2) -> rule1) OR ((((triple1 triple4) -> rule4) ((((triple3) -> rule6)) -> rule5)) -> rule1) OR ((((triple1 ((triple1 triple2) -> rule3)) -> rule4) ((triple1) -> rule5)) -> rule1) OR ((((((triple2 triple4) -> rule2) triple4) -> rule4) ((triple1) -> rule5)) -> rule1) OR ((((((triple2 triple4) -> rule2) ((triple1 triple2) -> rule3)) -> rule4) triple2) -> rule1) OR ((((triple1 ((triple1 triple2) -> rule3)) -> rule4) ((((triple3) -> rule6)) -> rule5)) -> rule1) OR ((((((triple2 triple4) -> rule2) triple4) -> rule4) ((((triple3) -> rule6)) -> rule5)) -> rule1) OR ((((((triple2 triple4) -> rule2) ((triple1 triple2) -> rule3)) -> rule4) ((triple1) -> rule5)) -> rule1) OR ((((((triple2 triple4) -> rule2) ((triple1 triple2) -> rule3)) -> rule4) ((((triple3) -> rule6)) -> rule5)) -> rule1) OR ((((triple1 ((triple1 ((triple1) -> rule5)) -> rule3)) -> rule4) triple2) -> rule1) OR ((((triple1 ((triple1 ((triple1) -> rule5)) -> rule3)) -> rule4) ((triple1) -> rule5)) -> rule1) OR ((((((triple2 triple4) -> rule2) ((triple1 ((triple1) -> rule5)) -> rule3)) -> rule4) triple2) -> rule1) OR ((((triple1 ((triple1 ((triple1) -> rule5)) -> rule3)) -> rule4) ((((triple3) -> rule6)) -> rule5)) -> rule1) OR ((((((triple2 triple4) -> rule2) ((triple1 ((triple1) -> rule5)) -> rule3)) -> rule4) ((triple1) -> rule5)) -> rule1) OR ((((((triple2 triple4) -> rule2) ((triple1 ((triple1) -> rule5)) -> rule3)) -> rule4) ((((triple3) -> rule6)) -> rule5)) -> rule1))]
The cat is big.
("cat" "is" "big" "+")
triple1
((triple3) -> (rule6 % int1))
The cat is big.
("cat" "is" "big" "+")
int1
((triple2 triple4) -> (rule2 % int1))
The cat is big.
("cat" "is" "big" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
triple2
((triple1) -> (rule5 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
((((triple3) -> (rule6 % int2))) -> (rule5 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The cat is big.
("cat" "is" "big" "+")
int2
The cat is green.
("cat" "is" "green" "+")
triple3
((triple1 triple4) -> (rule4 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
((triple1 ((triple1 triple2) -> (rule3 % int2))) -> (rule4 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is red.
("cat" "is" "red" "+")
int2
((((triple2 triple4) -> (rule2 % int2)) triple4) -> (rule4 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is big.
("cat" "is" "big" "+")
int2
((((triple2 triple4) -> (rule2 % int3)) ((triple1 triple2) -> (rule3 % int2))) -> (rule4 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is red.
("cat" "is" "red" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((triple1 ((triple1 ((triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is red.
("cat" "is" "red" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
((((triple2 triple4) -> (rule2 % int4)) ((triple1 ((triple1) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is red.
("cat" "is" "red" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The cat is big.
("cat" "is" "big" "+")
int4
The cat is red.
("cat" "is" "red" "+")
triple4
((triple1 triple2) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
((triple1 ((triple1) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
((((triple3) -> (rule6 % int2)) triple2) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is big.
("cat" "is" "big" "+")
int2
((((triple3) -> (rule6 % int3)) ((triple1) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((triple1 ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((((triple3) -> (rule6 % int3)) ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
The cat is rough.
("cat" "is" "rough" "+")
triple5
((triple3 triple2) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
((triple3 ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
((((triple1 triple4) -> (rule4 % int2)) triple2) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
((((triple1 triple4) -> (rule4 % int3)) ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is green.
("cat" "is" "green" "+")
int3
((triple3 ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((((triple1 ((triple1 triple2) -> (rule3 % int3))) -> (rule4 % int2)) triple2) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is red.
("cat" "is" "red" "+")
int3
((((((triple2 triple4) -> (rule2 % int3)) triple4) -> (rule4 % int2)) triple2) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
((((triple1 triple4) -> (rule4 % int4)) ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
The cat is green.
("cat" "is" "green" "+")
int4
((((triple1 ((triple1 triple2) -> (rule3 % int4))) -> (rule4 % int3)) ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is green.
("cat" "is" "green" "+")
int3
The cat is red.
("cat" "is" "red" "+")
int4
((((((triple2 triple4) -> (rule2 % int4)) triple4) -> (rule4 % int3)) ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is green.
("cat" "is" "green" "+")
int3
The cat is big.
("cat" "is" "big" "+")
int4
((((((triple2 triple4) -> (rule2 % int4)) ((triple1 triple2) -> (rule3 % int3))) -> (rule4 % int2)) triple2) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is red.
("cat" "is" "red" "+")
int3
The cat is big.
("cat" "is" "big" "+")
int4
((((triple1 ((triple1 triple2) -> (rule3 % int5))) -> (rule4 % int4)) ((((triple3) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is big.
("cat" "is" "big" "+")
int3
The cat is green.
("cat" "is" "green" "+")
int4
The cat is red.
("cat" "is" "red" "+")
int5
((((((triple2 triple4) -> (rule2 % int4)) triple4) -> (rule4 % int3)) ((((triple3) -> (rule6 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is green.
("cat" "is" "green" "+")
int3
The cat is big.
("cat" "is" "big" "+")
int4
((((((triple2 triple4) -> (rule2 % int5)) ((triple1 triple2) -> (rule3 % int4))) -> (rule4 % int3)) ((triple1) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is green.
("cat" "is" "green" "+")
int3
The cat is red.
("cat" "is" "red" "+")
int4
The cat is big.
("cat" "is" "big" "+")
int5
((((((triple2 triple4) -> (rule2 % int5)) ((triple1 triple2) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple3) -> (rule6 % int5))) -> (rule5 % int2))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The cat is green.
("cat" "is" "green" "+")
int3
The cat is red.
("cat" "is" "red" "+")
int4
The cat is big.
("cat" "is" "big" "+")
int5
((((triple1 ((triple1 ((triple1) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) triple2) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is red.
("cat" "is" "red" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
((((triple1 ((triple1 ((triple1) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((triple1) -> (rule5 % int4))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is red.
("cat" "is" "red" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
((((((triple2 triple4) -> (rule2 % int5)) ((triple1 ((triple1) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) triple2) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is red.
("cat" "is" "red" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The cat is big.
("cat" "is" "big" "+")
int5
((((triple1 ((triple1 ((triple1) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule4 % int3)) ((((triple3) -> (rule6 % int2))) -> (rule5 % int5))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is big.
("cat" "is" "big" "+")
int2
The cat is green.
("cat" "is" "green" "+")
int3
The cat is red.
("cat" "is" "red" "+")
int4
The cat is blue.
("cat" "is" "blue" "+")
int5
((((((triple2 triple4) -> (rule2 % int5)) ((triple1 ((triple1) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((triple1) -> (rule5 % int4))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is red.
("cat" "is" "red" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The cat is big.
("cat" "is" "big" "+")
int5
((((((triple2 triple4) -> (rule2 % int5)) ((triple1 ((triple1) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((((triple3) -> (rule6 % int5))) -> (rule5 % int4))) -> (rule1 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is red.
("cat" "is" "red" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The cat is big.
("cat" "is" "big" "+")
int5