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