The cat is big. The cat is blue. The cat is red. The cat likes the lion. The cat sees the lion. The lion is round. The lion likes the cat. If something likes the lion and it sees the cat then the lion is red. If something is red then it sees the cat. If something needs the lion then it is red. If something is blue then it likes the lion. If something likes the lion and the lion needs the cat then the lion sees the cat. If the lion is not blue then the lion sees the cat. If something sees the cat then it needs the lion. If the lion is not red then the lion likes the cat.
The cat is big.
("cat" "is" "big" "+")
The cat is blue.
("cat" "is" "blue" "+")
The cat is red.
("cat" "is" "red" "+")
The cat likes the lion.
("cat" "likes" "lion" "+")
The cat sees the lion.
("cat" "sees" "lion" "+")
The lion is round.
("lion" "is" "round" "+")
The lion likes the cat.
("lion" "likes" "cat" "+")
If something likes the lion and it sees the cat then the lion is red.
((("something" "likes" "lion" "+") ("something" "sees" "cat" "+")) -> ("lion" "is" "red" "+"))
If something is red then it sees the cat.
((("something" "is" "red" "+")) -> ("something" "sees" "cat" "+"))
If something needs the lion then it is red.
((("something" "needs" "lion" "+")) -> ("something" "is" "red" "+"))
If something is blue then it likes the lion.
((("something" "is" "blue" "+")) -> ("something" "likes" "lion" "+"))
If something likes the lion and the lion needs the cat then the lion sees the cat.
((("something" "likes" "lion" "+") ("lion" "needs" "cat" "+")) -> ("lion" "sees" "cat" "+"))
If the lion is not blue then the lion sees the cat.
((("lion" "is" "blue" "~")) -> ("lion" "sees" "cat" "+"))
If something sees the cat then it needs the lion.
((("something" "sees" "cat" "+")) -> ("something" "needs" "lion" "+"))
If the lion is not red then the lion likes the cat.
((("lion" "is" "red" "~")) -> ("lion" "likes" "cat" "+"))
The lion is round.
True
1
proof
[(triple6)]
("lion" "is" "round" "+")
triple6
The cat is not blue.
False
1
inv-proof
[(triple2)]
("cat" "is" "blue" "-")
triple2
The cat sees the cat.
True
2
proof
[(((triple3) -> rule2))]
("cat" "sees" "cat" "+")
((triple3) -> (rule2 % int1))
The cat sees the cat.
("cat" "sees" "cat" "+")
int1
The cat does not see the cat.
False
2
inv-proof
[(((triple3) -> rule2))]
("cat" "sees" "cat" "-")
((triple3) -> (rule2 % int1))
The cat sees the cat.
("cat" "sees" "cat" "+")
int1
The cat needs the lion.
True
3
proof
[(((((triple3) -> rule2)) -> rule7))]
("cat" "needs" "lion" "+")
((((triple3) -> (rule2 % int2))) -> (rule7 % int1))
The cat needs the lion.
("cat" "needs" "lion" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
The lion is not red.
False
4
inv-proof
[(((triple4 ((triple3) -> rule2)) -> rule1) OR ((((triple2) -> rule4) ((triple3) -> rule2)) -> rule1))]
("lion" "is" "red" "-")
((triple4 ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
((((triple2) -> (rule4 % int3)) ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
The cat likes the lion.
("cat" "likes" "lion" "+")
int3
The lion sees the cat.
True
5
proof
[(((((triple4 ((triple3) -> rule2)) -> rule1)) -> rule2) OR ((((((triple2) -> rule4) ((triple3) -> rule2)) -> rule1)) -> rule2))]
("lion" "sees" "cat" "+")
((((triple4 ((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The lion sees the cat.
("lion" "sees" "cat" "+")
int1
The lion is red.
("lion" "is" "red" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
((((((triple2) -> (rule4 % int4)) ((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The lion sees the cat.
("lion" "sees" "cat" "+")
int1
The lion is red.
("lion" "is" "red" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
The cat likes the lion.
("cat" "likes" "lion" "+")
int4
The lion does not see the cat.
False
5
inv-proof
[(((((triple4 ((triple3) -> rule2)) -> rule1)) -> rule2) OR ((((((triple2) -> rule4) ((triple3) -> rule2)) -> rule1)) -> rule2))]
("lion" "sees" "cat" "-")
((((triple4 ((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The lion sees the cat.
("lion" "sees" "cat" "+")
int1
The lion is red.
("lion" "is" "red" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
((((((triple2) -> (rule4 % int4)) ((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The lion sees the cat.
("lion" "sees" "cat" "+")
int1
The lion is red.
("lion" "is" "red" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
The cat likes the lion.
("cat" "likes" "lion" "+")
int4
The lion does not like the lion.
Unknown
inv-rconc
[@1: The lion likes the lion.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("lion" "likes" "lion" "-")
The lion is blue.
Unknown
random
[@0: The lion is blue.[CWA. Example of deepest failure = (FAIL)]]
("lion" "is" "blue" "+")
The lion is not kind.
Unknown
inv-random
[@0: The lion is kind.[CWA. Example of deepest failure = (FAIL)]]
("lion" "is" "kind" "-")
The lion sees the lion.
Unknown
random
[@0: The lion sees the lion.[CWA. Example of deepest failure = (FAIL)]]
("lion" "sees" "lion" "+")
The lion is not big.
Unknown
inv-random
[@0: The lion is big.[CWA. Example of deepest failure = (FAIL)]]
("lion" "is" "big" "-")
The cat is round.
Unknown
random
[@0: The cat is round.[CWA. Example of deepest failure = (FAIL)]]
("cat" "is" "round" "+")
The cat does not like the cat.
Unknown
inv-random
[@0: The cat likes the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "likes" "cat" "-")
The cat needs the cat.
Unknown
random
[@0: The cat needs the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "needs" "cat" "+")
@0: The cat is big.[(triple1)] The cat is blue.[(triple2)] The cat is red.[(triple3)] The cat likes the lion.[(triple4 OR ((triple2) -> rule4))] The cat sees the lion.[(triple5)] The lion is round.[(triple6)] The lion likes the cat.[(triple7)] @1: The cat sees the cat.[(((triple3) -> rule2))] @2: The cat needs the lion.[(((((triple3) -> rule2)) -> rule7))] The lion is red.[(((triple4 ((triple3) -> rule2)) -> rule1) OR ((((triple2) -> rule4) ((triple3) -> rule2)) -> rule1))] @3: The lion sees the cat.[(((((triple4 ((triple3) -> rule2)) -> rule1)) -> rule2) OR ((((((triple2) -> rule4) ((triple3) -> rule2)) -> rule1)) -> rule2))] @4: The lion needs the lion.[(((((((triple4 ((triple3) -> rule2)) -> rule1)) -> rule2)) -> rule7) OR ((((((((triple2) -> rule4) ((triple3) -> rule2)) -> rule1)) -> rule2)) -> rule7))]
The cat is big.
("cat" "is" "big" "+")
triple1
The cat is blue.
("cat" "is" "blue" "+")
triple2
The cat is red.
("cat" "is" "red" "+")
triple3
The cat likes the lion.
("cat" "likes" "lion" "+")
triple4
((triple2) -> (rule4 % int1))
The cat likes the lion.
("cat" "likes" "lion" "+")
int1
The cat sees the lion.
("cat" "sees" "lion" "+")
triple5
The lion is round.
("lion" "is" "round" "+")
triple6
The lion likes the cat.
("lion" "likes" "cat" "+")
triple7
The cat sees the cat.
("cat" "sees" "cat" "+")
((triple3) -> (rule2 % int1))
The cat sees the cat.
("cat" "sees" "cat" "+")
int1
The cat needs the lion.
("cat" "needs" "lion" "+")
((((triple3) -> (rule2 % int2))) -> (rule7 % int1))
The cat needs the lion.
("cat" "needs" "lion" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
The lion is red.
("lion" "is" "red" "+")
((triple4 ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
((((triple2) -> (rule4 % int3)) ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
The cat likes the lion.
("cat" "likes" "lion" "+")
int3
The lion sees the cat.
("lion" "sees" "cat" "+")
((((triple4 ((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The lion sees the cat.
("lion" "sees" "cat" "+")
int1
The lion is red.
("lion" "is" "red" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
((((((triple2) -> (rule4 % int4)) ((triple3) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The lion sees the cat.
("lion" "sees" "cat" "+")
int1
The lion is red.
("lion" "is" "red" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
The cat likes the lion.
("cat" "likes" "lion" "+")
int4
The lion needs the lion.
("lion" "needs" "lion" "+")
((((((triple4 ((triple3) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
The lion sees the cat.
("lion" "sees" "cat" "+")
int2
The lion is red.
("lion" "is" "red" "+")
int3
The cat sees the cat.
("cat" "sees" "cat" "+")
int4
((((((((triple2) -> (rule4 % int5)) ((triple3) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
The lion sees the cat.
("lion" "sees" "cat" "+")
int2
The lion is red.
("lion" "is" "red" "+")
int3
The cat sees the cat.
("cat" "sees" "cat" "+")
int4
The cat likes the lion.
("cat" "likes" "lion" "+")
int5