The cat eats the rabbit. The cat is cold. The cat sees the dog. The dog eats the rabbit. The dog eats the tiger. The dog is nice. The dog is rough. The dog sees the cat. The rabbit eats the tiger. The rabbit is red. The tiger eats the dog. The tiger is young. All young things are nice. If something likes the tiger then it eats the cat. If something is nice then it likes the tiger. If the tiger eats the cat and the tiger likes the rabbit then the tiger sees the cat. If something sees the tiger and the tiger likes the dog then it is red. All rough things are red. If something eats the cat then the cat likes the rabbit. If something is rough and it sees the tiger then it likes the dog. If something likes the rabbit then it is young.
The cat eats the rabbit.
("cat" "eats" "rabbit" "+")
The cat is cold.
("cat" "is" "cold" "+")
The cat sees the dog.
("cat" "sees" "dog" "+")
The dog eats the rabbit.
("dog" "eats" "rabbit" "+")
The dog eats the tiger.
("dog" "eats" "tiger" "+")
The dog is nice.
("dog" "is" "nice" "+")
The dog is rough.
("dog" "is" "rough" "+")
The dog sees the cat.
("dog" "sees" "cat" "+")
The rabbit eats the tiger.
("rabbit" "eats" "tiger" "+")
The rabbit is red.
("rabbit" "is" "red" "+")
The tiger eats the dog.
("tiger" "eats" "dog" "+")
The tiger is young.
("tiger" "is" "young" "+")
All young things are nice.
((("something" "is" "young" "+")) -> ("something" "is" "nice" "+"))
If something likes the tiger then it eats the cat.
((("something" "likes" "tiger" "+")) -> ("something" "eats" "cat" "+"))
If something is nice then it likes the tiger.
((("something" "is" "nice" "+")) -> ("something" "likes" "tiger" "+"))
If the tiger eats the cat and the tiger likes the rabbit then the tiger sees the cat.
((("tiger" "eats" "cat" "+") ("tiger" "likes" "rabbit" "+")) -> ("tiger" "sees" "cat" "+"))
If something sees the tiger and the tiger likes the dog then it is red.
((("something" "sees" "tiger" "+") ("tiger" "likes" "dog" "+")) -> ("something" "is" "red" "+"))
All rough things are red.
((("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
If something eats the cat then the cat likes the rabbit.
((("something" "eats" "cat" "+")) -> ("cat" "likes" "rabbit" "+"))
If something is rough and it sees the tiger then it likes the dog.
((("something" "is" "rough" "+") ("something" "sees" "tiger" "+")) -> ("something" "likes" "dog" "+"))
If something likes the rabbit then it is young.
((("something" "likes" "rabbit" "+")) -> ("something" "is" "young" "+"))
The dog eats the rabbit.
True
1
proof
[(triple4)]
("dog" "eats" "rabbit" "+")
triple4
The rabbit does not eat the tiger.
False
1
inv-proof
[(triple9)]
("rabbit" "eats" "tiger" "-")
triple9
The tiger is nice.
True
2
proof
[(((triple12) -> rule1))]
("tiger" "is" "nice" "+")
((triple12) -> (rule1 % int1))
The tiger is nice.
("tiger" "is" "nice" "+")
int1
The dog does not like the tiger.
False
2
inv-proof
[(((triple6) -> rule3))]
("dog" "likes" "tiger" "-")
((triple6) -> (rule3 % int1))
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int1
The tiger likes the tiger.
True
3
proof
[(((((triple12) -> rule1)) -> rule3))]
("tiger" "likes" "tiger" "+")
((((triple12) -> (rule1 % int2))) -> (rule3 % int1))
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int1
The tiger is nice.
("tiger" "is" "nice" "+")
int2
The dog does not eat the cat.
False
3
inv-proof
[(((((triple6) -> rule3)) -> rule2))]
("dog" "eats" "cat" "-")
((((triple6) -> (rule3 % int2))) -> (rule2 % int1))
The dog eats the cat.
("dog" "eats" "cat" "+")
int1
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int2
The cat likes the rabbit.
True
4
proof
[(((((((triple6) -> rule3)) -> rule2)) -> rule7) OR ((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7))]
("cat" "likes" "rabbit" "+")
((((((triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int1
The dog eats the cat.
("dog" "eats" "cat" "+")
int2
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int3
((((((((triple12) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int1
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int2
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int3
The tiger is nice.
("tiger" "is" "nice" "+")
int4
The tiger does not eat the cat.
False
4
inv-proof
[(((((((triple12) -> rule1)) -> rule3)) -> rule2))]
("tiger" "eats" "cat" "-")
((((((triple12) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int1
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int2
The tiger is nice.
("tiger" "is" "nice" "+")
int3
The cat is young.
True
5
proof
[(((((((((triple6) -> rule3)) -> rule2)) -> rule7)) -> rule9) OR ((((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7)) -> rule9))]
("cat" "is" "young" "+")
((((((((triple6) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int2
The dog eats the cat.
("dog" "eats" "cat" "+")
int3
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int4
((((((((((triple12) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int2
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int3
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int4
The tiger is nice.
("tiger" "is" "nice" "+")
int5
The cat is not young.
False
5
inv-proof
[(((((((((triple6) -> rule3)) -> rule2)) -> rule7)) -> rule9) OR ((((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7)) -> rule9))]
("cat" "is" "young" "-")
((((((((triple6) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int2
The dog eats the cat.
("dog" "eats" "cat" "+")
int3
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int4
((((((((((triple12) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int2
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int3
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int4
The tiger is nice.
("tiger" "is" "nice" "+")
int5
The cat is nice.
True
6
proof
[(((((((((((triple6) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1) OR ((((((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1))]
("cat" "is" "nice" "+")
((((((((((triple6) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule9 % int2))) -> (rule1 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int3
The dog eats the cat.
("dog" "eats" "cat" "+")
int4
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int5
((((((((((((triple12) -> (rule1 % int6))) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule9 % int2))) -> (rule1 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int3
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int4
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int5
The tiger is nice.
("tiger" "is" "nice" "+")
int6
The cat is not nice.
False
6
inv-proof
[(((((((((((triple6) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1) OR ((((((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1))]
("cat" "is" "nice" "-")
((((((((((triple6) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule9 % int2))) -> (rule1 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int3
The dog eats the cat.
("dog" "eats" "cat" "+")
int4
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int5
((((((((((((triple12) -> (rule1 % int6))) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule9 % int2))) -> (rule1 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int3
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int4
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int5
The tiger is nice.
("tiger" "is" "nice" "+")
int6
The cat is not red.
Unknown
inv-rconc
[@1: The cat is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("cat" "is" "red" "-")
The rabbit is young.
Unknown
rconc
[@1: The rabbit is young.[CWA. Example of deepest failure = (rule9 <- FAIL)]]
("rabbit" "is" "young" "+")
The tiger does not like the dog.
Unknown
inv-rconc
[@1: The tiger likes the dog.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("tiger" "likes" "dog" "-")
The dog is young.
Unknown
rconc
[@1: The dog is young.[CWA. Example of deepest failure = (rule9 <- FAIL)]]
("dog" "is" "young" "+")
The rabbit does not like the dog.
Unknown
inv-rconc
[@1: The rabbit likes the dog.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("rabbit" "likes" "dog" "-")
The rabbit is nice.
Unknown
rconc
[@2: The rabbit is nice.[CWA. Example of deepest failure = (rule1 <- rule9 <- FAIL)]]
("rabbit" "is" "nice" "+")
The dog does not like the rabbit.
Unknown
inv-random
[@0: The dog likes the rabbit.[CWA. Example of deepest failure = (FAIL)]]
("dog" "likes" "rabbit" "-")
The tiger likes the rabbit.
Unknown
random
[@0: The tiger likes the rabbit.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "likes" "rabbit" "+")
The rabbit does not eat the dog.
Unknown
inv-random
[@0: The rabbit eats the dog.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "eats" "dog" "-")
The tiger sees the tiger.
Unknown
random
[@0: The tiger sees the tiger.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "sees" "tiger" "+")
The tiger is not cold.
Unknown
inv-random
[@0: The tiger is cold.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "is" "cold" "-")
The tiger eats the tiger.
Unknown
random
[@0: The tiger eats the tiger.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "eats" "tiger" "+")
@0: The cat eats the rabbit.[(triple1)] The cat is cold.[(triple2)] The cat sees the dog.[(triple3)] The dog eats the rabbit.[(triple4)] The dog eats the tiger.[(triple5)] The dog is nice.[(triple6)] The dog is rough.[(triple7)] The dog sees the cat.[(triple8)] The rabbit eats the tiger.[(triple9)] The rabbit is red.[(triple10)] The tiger eats the dog.[(triple11)] The tiger is young.[(triple12)] @1: The dog is red.[(((triple7) -> rule6))] The dog likes the tiger.[(((triple6) -> rule3))] The tiger is nice.[(((triple12) -> rule1))] @2: The dog eats the cat.[(((((triple6) -> rule3)) -> rule2))] The tiger likes the tiger.[(((((triple12) -> rule1)) -> rule3))] @3: The cat likes the rabbit.[(((((((triple6) -> rule3)) -> rule2)) -> rule7) OR ((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7))] The tiger eats the cat.[(((((((triple12) -> rule1)) -> rule3)) -> rule2))] @4: The cat is young.[(((((((((triple6) -> rule3)) -> rule2)) -> rule7)) -> rule9) OR ((((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7)) -> rule9))] @5: The cat is nice.[(((((((((((triple6) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1) OR ((((((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1))] @6: The cat likes the tiger.[(((((((((((((triple6) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1)) -> rule3) OR ((((((((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1)) -> rule3))] @7: The cat eats the cat.[(((((((((((((((triple6) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1)) -> rule3)) -> rule2) OR ((((((((((((((((triple12) -> rule1)) -> rule3)) -> rule2)) -> rule7)) -> rule9)) -> rule1)) -> rule3)) -> rule2))]
The cat eats the rabbit.
("cat" "eats" "rabbit" "+")
triple1
The cat is cold.
("cat" "is" "cold" "+")
triple2
The cat sees the dog.
("cat" "sees" "dog" "+")
triple3
The dog eats the rabbit.
("dog" "eats" "rabbit" "+")
triple4
The dog eats the tiger.
("dog" "eats" "tiger" "+")
triple5
The dog is nice.
("dog" "is" "nice" "+")
triple6
The dog is rough.
("dog" "is" "rough" "+")
triple7
The dog sees the cat.
("dog" "sees" "cat" "+")
triple8
The rabbit eats the tiger.
("rabbit" "eats" "tiger" "+")
triple9
The rabbit is red.
("rabbit" "is" "red" "+")
triple10
The tiger eats the dog.
("tiger" "eats" "dog" "+")
triple11
The tiger is young.
("tiger" "is" "young" "+")
triple12
The dog is red.
("dog" "is" "red" "+")
((triple7) -> (rule6 % int1))
The dog is red.
("dog" "is" "red" "+")
int1
The dog likes the tiger.
("dog" "likes" "tiger" "+")
((triple6) -> (rule3 % int1))
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int1
The tiger is nice.
("tiger" "is" "nice" "+")
((triple12) -> (rule1 % int1))
The tiger is nice.
("tiger" "is" "nice" "+")
int1
The dog eats the cat.
("dog" "eats" "cat" "+")
((((triple6) -> (rule3 % int2))) -> (rule2 % int1))
The dog eats the cat.
("dog" "eats" "cat" "+")
int1
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int2
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
((((triple12) -> (rule1 % int2))) -> (rule3 % int1))
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int1
The tiger is nice.
("tiger" "is" "nice" "+")
int2
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
((((((triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int1
The dog eats the cat.
("dog" "eats" "cat" "+")
int2
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int3
((((((((triple12) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int1
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int2
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int3
The tiger is nice.
("tiger" "is" "nice" "+")
int4
The tiger eats the cat.
("tiger" "eats" "cat" "+")
((((((triple12) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int1
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int2
The tiger is nice.
("tiger" "is" "nice" "+")
int3
The cat is young.
("cat" "is" "young" "+")
((((((((triple6) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int2
The dog eats the cat.
("dog" "eats" "cat" "+")
int3
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int4
((((((((((triple12) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule9 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int2
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int3
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int4
The tiger is nice.
("tiger" "is" "nice" "+")
int5
The cat is nice.
("cat" "is" "nice" "+")
((((((((((triple6) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule9 % int2))) -> (rule1 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int3
The dog eats the cat.
("dog" "eats" "cat" "+")
int4
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int5
((((((((((((triple12) -> (rule1 % int6))) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule9 % int2))) -> (rule1 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int3
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int4
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int5
The tiger is nice.
("tiger" "is" "nice" "+")
int6
The cat likes the tiger.
("cat" "likes" "tiger" "+")
((((((((((((triple6) -> (rule3 % int6))) -> (rule2 % int5))) -> (rule7 % int4))) -> (rule9 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The cat likes the tiger.
("cat" "likes" "tiger" "+")
int1
The cat is nice.
("cat" "is" "nice" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int4
The dog eats the cat.
("dog" "eats" "cat" "+")
int5
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int6
((((((((((((((triple12) -> (rule1 % int7))) -> (rule3 % int6))) -> (rule2 % int5))) -> (rule7 % int4))) -> (rule9 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
The cat likes the tiger.
("cat" "likes" "tiger" "+")
int1
The cat is nice.
("cat" "is" "nice" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int4
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int5
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int6
The tiger is nice.
("tiger" "is" "nice" "+")
int7
The cat eats the cat.
("cat" "eats" "cat" "+")
((((((((((((((triple6) -> (rule3 % int7))) -> (rule2 % int6))) -> (rule7 % int5))) -> (rule9 % int4))) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat eats the cat.
("cat" "eats" "cat" "+")
int1
The cat likes the tiger.
("cat" "likes" "tiger" "+")
int2
The cat is nice.
("cat" "is" "nice" "+")
int3
The cat is young.
("cat" "is" "young" "+")
int4
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int5
The dog eats the cat.
("dog" "eats" "cat" "+")
int6
The dog likes the tiger.
("dog" "likes" "tiger" "+")
int7
((((((((((((((((triple12) -> (rule1 % int8))) -> (rule3 % int7))) -> (rule2 % int6))) -> (rule7 % int5))) -> (rule9 % int4))) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat eats the cat.
("cat" "eats" "cat" "+")
int1
The cat likes the tiger.
("cat" "likes" "tiger" "+")
int2
The cat is nice.
("cat" "is" "nice" "+")
int3
The cat is young.
("cat" "is" "young" "+")
int4
The cat likes the rabbit.
("cat" "likes" "rabbit" "+")
int5
The tiger eats the cat.
("tiger" "eats" "cat" "+")
int6
The tiger likes the tiger.
("tiger" "likes" "tiger" "+")
int7
The tiger is nice.
("tiger" "is" "nice" "+")
int8