The cat is big. The cat likes the tiger. The cat sees the tiger. The cat visits the tiger. The tiger is big. The tiger is blue. The tiger is kind. The tiger is nice. The tiger is young. The tiger likes the cat. The tiger sees the cat. The tiger visits the cat. If someone sees the tiger then the tiger is young. If someone is blue then they like the cat. If someone visits the cat then the cat is blue. If someone sees the cat and the cat sees the tiger then they are young. If someone likes the cat then they are kind. If someone visits the cat and the cat likes the tiger then they are nice. If someone is kind and they visit the tiger then the tiger likes the cat. If someone likes the cat then they visit the cat.
The cat is big.
("cat" "is" "big" "+")
The cat likes the tiger.
("cat" "likes" "tiger" "+")
The cat sees the tiger.
("cat" "sees" "tiger" "+")
The cat visits the tiger.
("cat" "visits" "tiger" "+")
The tiger is big.
("tiger" "is" "big" "+")
The tiger is blue.
("tiger" "is" "blue" "+")
The tiger is kind.
("tiger" "is" "kind" "+")
The tiger is nice.
("tiger" "is" "nice" "+")
The tiger is young.
("tiger" "is" "young" "+")
The tiger likes the cat.
("tiger" "likes" "cat" "+")
The tiger sees the cat.
("tiger" "sees" "cat" "+")
The tiger visits the cat.
("tiger" "visits" "cat" "+")
If someone sees the tiger then the tiger is young.
((("someone" "sees" "tiger" "+")) -> ("tiger" "is" "young" "+"))
If someone is blue then they like the cat.
((("someone" "is" "blue" "+")) -> ("someone" "likes" "cat" "+"))
If someone visits the cat then the cat is blue.
((("someone" "visits" "cat" "+")) -> ("cat" "is" "blue" "+"))
If someone sees the cat and the cat sees the tiger then they are young.
((("someone" "sees" "cat" "+") ("cat" "sees" "tiger" "+")) -> ("someone" "is" "young" "+"))
If someone likes the cat then they are kind.
((("someone" "likes" "cat" "+")) -> ("someone" "is" "kind" "+"))
If someone visits the cat and the cat likes the tiger then they are nice.
((("someone" "visits" "cat" "+") ("cat" "likes" "tiger" "+")) -> ("someone" "is" "nice" "+"))
If someone is kind and they visit the tiger then the tiger likes the cat.
((("someone" "is" "kind" "+") ("someone" "visits" "tiger" "+")) -> ("tiger" "likes" "cat" "+"))
If someone likes the cat then they visit the cat.
((("someone" "likes" "cat" "+")) -> ("someone" "visits" "cat" "+"))
The tiger sees the cat.
True
1
proof
[(triple11)]
("tiger" "sees" "cat" "+")
triple11
The tiger does not see the cat.
False
1
inv-proof
[(triple11)]
("tiger" "sees" "cat" "-")
triple11
The cat is blue.
True
2
proof
[(((triple12) -> rule3) OR ((((triple10) -> rule8)) -> rule3) OR ((((((triple6) -> rule2)) -> rule8)) -> rule3))]
("cat" "is" "blue" "+")
((triple12) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
((((triple10) -> (rule8 % int2))) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int2
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int3
The cat is not blue.
False
2
inv-proof
[(((triple12) -> rule3) OR ((((triple10) -> rule8)) -> rule3) OR ((((((triple6) -> rule2)) -> rule8)) -> rule3))]
("cat" "is" "blue" "-")
((triple12) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
((((triple10) -> (rule8 % int2))) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int2
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int3
The cat likes the cat.
True
3
proof
[(((((triple12) -> rule3)) -> rule2) OR ((((((triple10) -> rule8)) -> rule3)) -> rule2) OR ((((((((triple6) -> rule2)) -> rule8)) -> rule3)) -> rule2))]
("cat" "likes" "cat" "+")
((((triple12) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
((((((triple10) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int3
((((((((triple6) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int3
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int4
The cat does not like the cat.
False
3
inv-proof
[(((((triple12) -> rule3)) -> rule2) OR ((((((triple10) -> rule8)) -> rule3)) -> rule2) OR ((((((((triple6) -> rule2)) -> rule8)) -> rule3)) -> rule2))]
("cat" "likes" "cat" "-")
((((triple12) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
((((((triple10) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int3
((((((((triple6) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int3
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int4
The cat is kind.
True
4
proof
[(((((((triple12) -> rule3)) -> rule2)) -> rule5) OR ((((((((triple10) -> rule8)) -> rule3)) -> rule2)) -> rule5) OR ((((((((((triple6) -> rule2)) -> rule8)) -> rule3)) -> rule2)) -> rule5))]
("cat" "is" "kind" "+")
((((((triple12) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
((((((((triple10) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int4
((((((((((triple6) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int4
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int5
The cat is not kind.
False
4
inv-proof
[(((((((triple12) -> rule3)) -> rule2)) -> rule5) OR ((((((((triple10) -> rule8)) -> rule3)) -> rule2)) -> rule5) OR ((((((((((triple6) -> rule2)) -> rule8)) -> rule3)) -> rule2)) -> rule5))]
("cat" "is" "kind" "-")
((((((triple12) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
((((((((triple10) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int4
((((((((((triple6) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int4
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int5
The cat is not young.
Unknown
inv-rconc
[@1: The cat is young.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("cat" "is" "young" "-")
The cat sees the cat.
Unknown
random
[@0: The cat sees the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "sees" "cat" "+")
The tiger does not visit the tiger.
Unknown
inv-random
[@0: The tiger visits the tiger.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "visits" "tiger" "-")
The tiger sees the tiger.
Unknown
random
[@0: The tiger sees the tiger.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "sees" "tiger" "+")
@0: The cat is big.[(triple1)] The cat likes the tiger.[(triple2)] The cat sees the tiger.[(triple3)] The cat visits the tiger.[(triple4)] The tiger is big.[(triple5)] The tiger is blue.[(triple6)] The tiger is kind.[(triple7 OR ((triple10) -> rule5) OR ((((triple6) -> rule2)) -> rule5) OR ((((((((((triple12) -> rule3)) -> rule2)) -> rule5) triple4) -> rule7)) -> rule5))] The tiger is nice.[(triple8 OR ((triple12 triple2) -> rule6) OR ((((triple10) -> rule8) triple2) -> rule6) OR ((((((triple6) -> rule2)) -> rule8) triple2) -> rule6))] The tiger is young.[(triple9 OR ((triple3) -> rule1) OR ((triple11 triple3) -> rule4))] The tiger likes the cat.[(triple10 OR ((triple6) -> rule2) OR ((((((((triple12) -> rule3)) -> rule2)) -> rule5) triple4) -> rule7))] The tiger sees the cat.[(triple11)] The tiger visits the cat.[(triple12 OR ((triple10) -> rule8) OR ((((triple6) -> rule2)) -> rule8))] @1: The cat is blue.[(((triple12) -> rule3) OR ((((triple10) -> rule8)) -> rule3) OR ((((((triple6) -> rule2)) -> rule8)) -> rule3))] @2: The cat likes the cat.[(((((triple12) -> rule3)) -> rule2) OR ((((((triple10) -> rule8)) -> rule3)) -> rule2) OR ((((((((triple6) -> rule2)) -> rule8)) -> rule3)) -> rule2))] @3: The cat is kind.[(((((((triple12) -> rule3)) -> rule2)) -> rule5) OR ((((((((triple10) -> rule8)) -> rule3)) -> rule2)) -> rule5) OR ((((((((((triple6) -> rule2)) -> rule8)) -> rule3)) -> rule2)) -> rule5))] The cat visits the cat.[(((((((triple12) -> rule3)) -> rule2)) -> rule8) OR ((((((((triple10) -> rule8)) -> rule3)) -> rule2)) -> rule8) OR ((((((((((triple6) -> rule2)) -> rule8)) -> rule3)) -> rule2)) -> rule8))] @4: The cat is nice.[(((((((((triple12) -> rule3)) -> rule2)) -> rule8) triple2) -> rule6) OR ((((((((((triple10) -> rule8)) -> rule3)) -> rule2)) -> rule8) triple2) -> rule6) OR ((((((((((((triple6) -> rule2)) -> rule8)) -> rule3)) -> rule2)) -> rule8) triple2) -> rule6))]
The cat is big.
("cat" "is" "big" "+")
triple1
The cat likes the tiger.
("cat" "likes" "tiger" "+")
triple2
The cat sees the tiger.
("cat" "sees" "tiger" "+")
triple3
The cat visits the tiger.
("cat" "visits" "tiger" "+")
triple4
The tiger is big.
("tiger" "is" "big" "+")
triple5
The tiger is blue.
("tiger" "is" "blue" "+")
triple6
The tiger is kind.
("tiger" "is" "kind" "+")
triple7
((triple10) -> (rule5 % int1))
The tiger is kind.
("tiger" "is" "kind" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule5 % int1))
The tiger is kind.
("tiger" "is" "kind" "+")
int1
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int2
((((((((((triple12) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule5 % int3)) triple4) -> (rule7 % int2))) -> (rule5 % int1))
The tiger is kind.
("tiger" "is" "kind" "+")
int1
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int2
The cat is kind.
("cat" "is" "kind" "+")
int3
The cat likes the cat.
("cat" "likes" "cat" "+")
int4
The cat is blue.
("cat" "is" "blue" "+")
int5
The tiger is nice.
("tiger" "is" "nice" "+")
triple8
((triple12 triple2) -> (rule6 % int1))
The tiger is nice.
("tiger" "is" "nice" "+")
int1
((((triple10) -> (rule8 % int2)) triple2) -> (rule6 % int1))
The tiger is nice.
("tiger" "is" "nice" "+")
int1
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule8 % int2)) triple2) -> (rule6 % int1))
The tiger is nice.
("tiger" "is" "nice" "+")
int1
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int2
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int3
The tiger is young.
("tiger" "is" "young" "+")
triple9
((triple3) -> (rule1 % int1))
The tiger is young.
("tiger" "is" "young" "+")
int1
((triple11 triple3) -> (rule4 % int1))
The tiger is young.
("tiger" "is" "young" "+")
int1
The tiger likes the cat.
("tiger" "likes" "cat" "+")
triple10
((triple6) -> (rule2 % int1))
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int1
((((((((triple12) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule7 % int1))
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat likes the cat.
("cat" "likes" "cat" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The tiger sees the cat.
("tiger" "sees" "cat" "+")
triple11
The tiger visits the cat.
("tiger" "visits" "cat" "+")
triple12
((triple10) -> (rule8 % int1))
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule8 % int1))
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int1
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
((triple12) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
((((triple10) -> (rule8 % int2))) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
The cat is blue.
("cat" "is" "blue" "+")
int1
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int2
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int3
The cat likes the cat.
("cat" "likes" "cat" "+")
((((triple12) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
((((((triple10) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int3
((((((((triple6) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat likes the cat.
("cat" "likes" "cat" "+")
int1
The cat is blue.
("cat" "is" "blue" "+")
int2
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int3
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int4
The cat is kind.
("cat" "is" "kind" "+")
((((((triple12) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
((((((((triple10) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int4
((((((((((triple6) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int4
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int5
The cat visits the cat.
("cat" "visits" "cat" "+")
((((((triple12) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
((((((((triple10) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int4
((((((((((triple6) -> (rule2 % int5))) -> (rule8 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat likes the cat.
("cat" "likes" "cat" "+")
int2
The cat is blue.
("cat" "is" "blue" "+")
int3
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int4
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int5
The cat is nice.
("cat" "is" "nice" "+")
((((((((triple12) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) triple2) -> (rule6 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat likes the cat.
("cat" "likes" "cat" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
((((((((((triple10) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) triple2) -> (rule6 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat likes the cat.
("cat" "likes" "cat" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int5
((((((((((((triple6) -> (rule2 % int6))) -> (rule8 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) triple2) -> (rule6 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat likes the cat.
("cat" "likes" "cat" "+")
int3
The cat is blue.
("cat" "is" "blue" "+")
int4
The tiger visits the cat.
("tiger" "visits" "cat" "+")
int5
The tiger likes the cat.
("tiger" "likes" "cat" "+")
int6