The cow eats the dog. The cow eats the rabbit. The dog eats the cow. The dog is red. The dog needs the rabbit. The rabbit is nice. The rabbit needs the cow. If something needs the dog and the dog eats the cow then the cow eats the dog. If something eats the dog then it eats the cow. If something eats the cow then the cow is blue. If something eats the rabbit and the rabbit chases the cow then the rabbit needs the cow. If something eats the dog and it needs the dog then the dog is rough. If the cow is blue then the cow needs the dog.
The cow eats the dog.
("cow" "eats" "dog" "+")
The cow eats the rabbit.
("cow" "eats" "rabbit" "+")
The dog eats the cow.
("dog" "eats" "cow" "+")
The dog is red.
("dog" "is" "red" "+")
The dog needs the rabbit.
("dog" "needs" "rabbit" "+")
The rabbit is nice.
("rabbit" "is" "nice" "+")
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
If something needs the dog and the dog eats the cow then the cow eats the dog.
((("something" "needs" "dog" "+") ("dog" "eats" "cow" "+")) -> ("cow" "eats" "dog" "+"))
If something eats the dog then it eats the cow.
((("something" "eats" "dog" "+")) -> ("something" "eats" "cow" "+"))
If something eats the cow then the cow is blue.
((("something" "eats" "cow" "+")) -> ("cow" "is" "blue" "+"))
If something eats the rabbit and the rabbit chases the cow then the rabbit needs the cow.
((("something" "eats" "rabbit" "+") ("rabbit" "chases" "cow" "+")) -> ("rabbit" "needs" "cow" "+"))
If something eats the dog and it needs the dog then the dog is rough.
((("something" "eats" "dog" "+") ("something" "needs" "dog" "+")) -> ("dog" "is" "rough" "+"))
If the cow is blue then the cow needs the dog.
((("cow" "is" "blue" "+")) -> ("cow" "needs" "dog" "+"))
The cow eats the rabbit.
True
1
proof
[(triple2)]
("cow" "eats" "rabbit" "+")
triple2
The dog is not red.
False
1
inv-proof
[(triple4)]
("dog" "is" "red" "-")
triple4
The cow is blue.
True
2
proof
[(((triple3) -> rule3) OR ((((triple1) -> rule2)) -> rule3))]
("cow" "is" "blue" "+")
((triple3) -> (rule3 % int1))
The cow is blue.
("cow" "is" "blue" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
The cow is blue.
("cow" "is" "blue" "+")
int1
The cow eats the cow.
("cow" "eats" "cow" "+")
int2
The cow is not blue.
False
2
inv-proof
[(((triple3) -> rule3) OR ((((triple1) -> rule2)) -> rule3))]
("cow" "is" "blue" "-")
((triple3) -> (rule3 % int1))
The cow is blue.
("cow" "is" "blue" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
The cow is blue.
("cow" "is" "blue" "+")
int1
The cow eats the cow.
("cow" "eats" "cow" "+")
int2
The cow needs the dog.
True
3
proof
[(((((triple3) -> rule3)) -> rule6) OR ((((((triple1) -> rule2)) -> rule3)) -> rule6))]
("cow" "needs" "dog" "+")
((((triple3) -> (rule3 % int2))) -> (rule6 % int1))
The cow needs the dog.
("cow" "needs" "dog" "+")
int1
The cow is blue.
("cow" "is" "blue" "+")
int2
((((((triple1) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
The cow needs the dog.
("cow" "needs" "dog" "+")
int1
The cow is blue.
("cow" "is" "blue" "+")
int2
The cow eats the cow.
("cow" "eats" "cow" "+")
int3
The cow does not need the dog.
False
3
inv-proof
[(((((triple3) -> rule3)) -> rule6) OR ((((((triple1) -> rule2)) -> rule3)) -> rule6))]
("cow" "needs" "dog" "-")
((((triple3) -> (rule3 % int2))) -> (rule6 % int1))
The cow needs the dog.
("cow" "needs" "dog" "+")
int1
The cow is blue.
("cow" "is" "blue" "+")
int2
((((((triple1) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
The cow needs the dog.
("cow" "needs" "dog" "+")
int1
The cow is blue.
("cow" "is" "blue" "+")
int2
The cow eats the cow.
("cow" "eats" "cow" "+")
int3
The dog is rough.
True
5
proof
[(((triple1 ((((triple3) -> rule3)) -> rule6)) -> rule5) OR ((triple1 ((((((triple1) -> rule2)) -> rule3)) -> rule6)) -> rule5) OR ((((((((triple3) -> rule3)) -> rule6) triple3) -> rule1) ((((triple3) -> rule3)) -> rule6)) -> rule5) OR ((((((((triple3) -> rule3)) -> rule6) triple3) -> rule1) ((((((triple1) -> rule2)) -> rule3)) -> rule6)) -> rule5))]
("dog" "is" "rough" "+")
((triple1 ((((triple3) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow needs the dog.
("cow" "needs" "dog" "+")
int2
The cow is blue.
("cow" "is" "blue" "+")
int3
((triple1 ((((((triple1) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow needs the dog.
("cow" "needs" "dog" "+")
int2
The cow is blue.
("cow" "is" "blue" "+")
int3
The cow eats the cow.
("cow" "eats" "cow" "+")
int4
((((((((triple3) -> (rule3 % int4))) -> (rule6 % int3)) triple3) -> (rule1 % int2)) ((((triple3) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow eats the dog.
("cow" "eats" "dog" "+")
int2
The cow needs the dog.
("cow" "needs" "dog" "+")
int3
The cow is blue.
("cow" "is" "blue" "+")
int4
((((((((triple3) -> (rule3 % int5))) -> (rule6 % int4)) triple3) -> (rule1 % int3)) ((((((triple1) -> (rule2 % int2))) -> (rule3 % int5))) -> (rule6 % int4))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow eats the cow.
("cow" "eats" "cow" "+")
int2
The cow eats the dog.
("cow" "eats" "dog" "+")
int3
The cow needs the dog.
("cow" "needs" "dog" "+")
int4
The cow is blue.
("cow" "is" "blue" "+")
int5
The dog is not rough.
False
5
inv-proof
[(((triple1 ((((triple3) -> rule3)) -> rule6)) -> rule5) OR ((triple1 ((((((triple1) -> rule2)) -> rule3)) -> rule6)) -> rule5) OR ((((((((triple3) -> rule3)) -> rule6) triple3) -> rule1) ((((triple3) -> rule3)) -> rule6)) -> rule5) OR ((((((((triple3) -> rule3)) -> rule6) triple3) -> rule1) ((((((triple1) -> rule2)) -> rule3)) -> rule6)) -> rule5))]
("dog" "is" "rough" "-")
((triple1 ((((triple3) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow needs the dog.
("cow" "needs" "dog" "+")
int2
The cow is blue.
("cow" "is" "blue" "+")
int3
((triple1 ((((((triple1) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow needs the dog.
("cow" "needs" "dog" "+")
int2
The cow is blue.
("cow" "is" "blue" "+")
int3
The cow eats the cow.
("cow" "eats" "cow" "+")
int4
((((((((triple3) -> (rule3 % int4))) -> (rule6 % int3)) triple3) -> (rule1 % int2)) ((((triple3) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow eats the dog.
("cow" "eats" "dog" "+")
int2
The cow needs the dog.
("cow" "needs" "dog" "+")
int3
The cow is blue.
("cow" "is" "blue" "+")
int4
((((((((triple3) -> (rule3 % int5))) -> (rule6 % int4)) triple3) -> (rule1 % int3)) ((((((triple1) -> (rule2 % int2))) -> (rule3 % int5))) -> (rule6 % int4))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow eats the cow.
("cow" "eats" "cow" "+")
int2
The cow eats the dog.
("cow" "eats" "dog" "+")
int3
The cow needs the dog.
("cow" "needs" "dog" "+")
int4
The cow is blue.
("cow" "is" "blue" "+")
int5
The rabbit does not eat the cow.
Unknown
inv-rconc
[@1: The rabbit eats the cow.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("rabbit" "eats" "cow" "-")
The cow is round.
Unknown
random
[@0: The cow is round.[CWA. Example of deepest failure = (FAIL)]]
("cow" "is" "round" "+")
The rabbit does not chase the cow.
Unknown
inv-random
[@0: The rabbit chases the cow.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "chases" "cow" "-")
The rabbit chases the dog.
Unknown
random
[@0: The rabbit chases the dog.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "chases" "dog" "+")
The dog does not chase the rabbit.
Unknown
inv-random
[@0: The dog chases the rabbit.[CWA. Example of deepest failure = (FAIL)]]
("dog" "chases" "rabbit" "-")
The dog is nice.
Unknown
random
[@0: The dog is nice.[CWA. Example of deepest failure = (FAIL)]]
("dog" "is" "nice" "+")
The cow is not rough.
Unknown
inv-random
[@0: The cow is rough.[CWA. Example of deepest failure = (FAIL)]]
("cow" "is" "rough" "-")
The dog eats the dog.
Unknown
random
[@0: The dog eats the dog.[CWA. Example of deepest failure = (FAIL)]]
("dog" "eats" "dog" "+")
@0: The cow eats the dog.[(triple1 OR ((((((triple3) -> rule3)) -> rule6) triple3) -> rule1))] The cow eats the rabbit.[(triple2)] The dog eats the cow.[(triple3)] The dog is red.[(triple4)] The dog needs the rabbit.[(triple5)] The rabbit is nice.[(triple6)] The rabbit needs the cow.[(triple7)] @1: The cow eats the cow.[(((triple1) -> rule2) OR ((((((((triple3) -> rule3)) -> rule6) triple3) -> rule1)) -> rule2))] The cow is blue.[(((triple3) -> rule3) OR ((((triple1) -> rule2)) -> rule3))] @2: The cow needs the dog.[(((((triple3) -> rule3)) -> rule6) OR ((((((triple1) -> rule2)) -> rule3)) -> rule6))] @3: The dog is rough.[(((triple1 ((((triple3) -> rule3)) -> rule6)) -> rule5) OR ((triple1 ((((((triple1) -> rule2)) -> rule3)) -> rule6)) -> rule5) OR ((((((((triple3) -> rule3)) -> rule6) triple3) -> rule1) ((((triple3) -> rule3)) -> rule6)) -> rule5) OR ((((((((triple3) -> rule3)) -> rule6) triple3) -> rule1) ((((((triple1) -> rule2)) -> rule3)) -> rule6)) -> rule5))]
The cow eats the dog.
("cow" "eats" "dog" "+")
triple1
((((((triple3) -> (rule3 % int3))) -> (rule6 % int2)) triple3) -> (rule1 % int1))
The cow eats the dog.
("cow" "eats" "dog" "+")
int1
The cow needs the dog.
("cow" "needs" "dog" "+")
int2
The cow is blue.
("cow" "is" "blue" "+")
int3
The cow eats the rabbit.
("cow" "eats" "rabbit" "+")
triple2
The dog eats the cow.
("dog" "eats" "cow" "+")
triple3
The dog is red.
("dog" "is" "red" "+")
triple4
The dog needs the rabbit.
("dog" "needs" "rabbit" "+")
triple5
The rabbit is nice.
("rabbit" "is" "nice" "+")
triple6
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
triple7
The cow eats the cow.
("cow" "eats" "cow" "+")
((triple1) -> (rule2 % int1))
The cow eats the cow.
("cow" "eats" "cow" "+")
int1
((((((((triple3) -> (rule3 % int4))) -> (rule6 % int3)) triple3) -> (rule1 % int2))) -> (rule2 % int1))
The cow eats the cow.
("cow" "eats" "cow" "+")
int1
The cow eats the dog.
("cow" "eats" "dog" "+")
int2
The cow needs the dog.
("cow" "needs" "dog" "+")
int3
The cow is blue.
("cow" "is" "blue" "+")
int4
The cow is blue.
("cow" "is" "blue" "+")
((triple3) -> (rule3 % int1))
The cow is blue.
("cow" "is" "blue" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
The cow is blue.
("cow" "is" "blue" "+")
int1
The cow eats the cow.
("cow" "eats" "cow" "+")
int2
The cow needs the dog.
("cow" "needs" "dog" "+")
((((triple3) -> (rule3 % int2))) -> (rule6 % int1))
The cow needs the dog.
("cow" "needs" "dog" "+")
int1
The cow is blue.
("cow" "is" "blue" "+")
int2
((((((triple1) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
The cow needs the dog.
("cow" "needs" "dog" "+")
int1
The cow is blue.
("cow" "is" "blue" "+")
int2
The cow eats the cow.
("cow" "eats" "cow" "+")
int3
The dog is rough.
("dog" "is" "rough" "+")
((triple1 ((((triple3) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow needs the dog.
("cow" "needs" "dog" "+")
int2
The cow is blue.
("cow" "is" "blue" "+")
int3
((triple1 ((((((triple1) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow needs the dog.
("cow" "needs" "dog" "+")
int2
The cow is blue.
("cow" "is" "blue" "+")
int3
The cow eats the cow.
("cow" "eats" "cow" "+")
int4
((((((((triple3) -> (rule3 % int4))) -> (rule6 % int3)) triple3) -> (rule1 % int2)) ((((triple3) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow eats the dog.
("cow" "eats" "dog" "+")
int2
The cow needs the dog.
("cow" "needs" "dog" "+")
int3
The cow is blue.
("cow" "is" "blue" "+")
int4
((((((((triple3) -> (rule3 % int5))) -> (rule6 % int4)) triple3) -> (rule1 % int3)) ((((((triple1) -> (rule2 % int2))) -> (rule3 % int5))) -> (rule6 % int4))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The cow eats the cow.
("cow" "eats" "cow" "+")
int2
The cow eats the dog.
("cow" "eats" "dog" "+")
int3
The cow needs the dog.
("cow" "needs" "dog" "+")
int4
The cow is blue.
("cow" "is" "blue" "+")
int5