The lion is blue. The lion is kind. The lion is round. The lion needs the squirrel. The lion needs the tiger. The squirrel is round. The squirrel likes the lion. The squirrel likes the tiger. The tiger likes the lion. The tiger likes the squirrel. If someone chases the tiger then they need the lion. If someone needs the lion and they like the lion then they chase the squirrel. If someone likes the lion then they are kind. If someone likes the tiger and they need the lion then the lion is blue. If someone needs the lion then they are red. If someone is blue then they need the lion. If the squirrel chases the tiger then the tiger needs the squirrel. If someone likes the tiger then they need the lion.
The lion is blue.
("lion" "is" "blue" "+")
The lion is kind.
("lion" "is" "kind" "+")
The lion is round.
("lion" "is" "round" "+")
The lion needs the squirrel.
("lion" "needs" "squirrel" "+")
The lion needs the tiger.
("lion" "needs" "tiger" "+")
The squirrel is round.
("squirrel" "is" "round" "+")
The squirrel likes the lion.
("squirrel" "likes" "lion" "+")
The squirrel likes the tiger.
("squirrel" "likes" "tiger" "+")
The tiger likes the lion.
("tiger" "likes" "lion" "+")
The tiger likes the squirrel.
("tiger" "likes" "squirrel" "+")
If someone chases the tiger then they need the lion.
((("someone" "chases" "tiger" "+")) -> ("someone" "needs" "lion" "+"))
If someone needs the lion and they like the lion then they chase the squirrel.
((("someone" "needs" "lion" "+") ("someone" "likes" "lion" "+")) -> ("someone" "chases" "squirrel" "+"))
If someone likes the lion then they are kind.
((("someone" "likes" "lion" "+")) -> ("someone" "is" "kind" "+"))
If someone likes the tiger and they need the lion then the lion is blue.
((("someone" "likes" "tiger" "+") ("someone" "needs" "lion" "+")) -> ("lion" "is" "blue" "+"))
If someone needs the lion then they are red.
((("someone" "needs" "lion" "+")) -> ("someone" "is" "red" "+"))
If someone is blue then they need the lion.
((("someone" "is" "blue" "+")) -> ("someone" "needs" "lion" "+"))
If the squirrel chases the tiger then the tiger needs the squirrel.
((("squirrel" "chases" "tiger" "+")) -> ("tiger" "needs" "squirrel" "+"))
If someone likes the tiger then they need the lion.
((("someone" "likes" "tiger" "+")) -> ("someone" "needs" "lion" "+"))
The squirrel likes the lion.
True
1
proof
[(triple7)]
("squirrel" "likes" "lion" "+")
triple7
The squirrel does not like the tiger.
False
1
inv-proof
[(triple8)]
("squirrel" "likes" "tiger" "-")
triple8
The squirrel needs the lion.
True
2
proof
[(((triple8) -> rule8))]
("squirrel" "needs" "lion" "+")
((triple8) -> (rule8 % int1))
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int1
The lion does not need the lion.
False
2
inv-proof
[(((triple1) -> rule6) OR ((((triple8 ((triple8) -> rule8)) -> rule4)) -> rule6))]
("lion" "needs" "lion" "-")
((triple1) -> (rule6 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
((((triple8 ((triple8) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
The lion is blue.
("lion" "is" "blue" "+")
int2
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int3
The lion is red.
True
3
proof
[(((((triple1) -> rule6)) -> rule5) OR ((((((triple8 ((triple8) -> rule8)) -> rule4)) -> rule6)) -> rule5))]
("lion" "is" "red" "+")
((((triple1) -> (rule6 % int2))) -> (rule5 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
((((((triple8 ((triple8) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
The lion is blue.
("lion" "is" "blue" "+")
int3
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int4
The lion is not red.
False
3
inv-proof
[(((((triple1) -> rule6)) -> rule5) OR ((((((triple8 ((triple8) -> rule8)) -> rule4)) -> rule6)) -> rule5))]
("lion" "is" "red" "-")
((((triple1) -> (rule6 % int2))) -> (rule5 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
((((((triple8 ((triple8) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
The lion is blue.
("lion" "is" "blue" "+")
int3
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int4
The tiger does not chase the squirrel.
Unknown
inv-rconc
[@2: The tiger chases the squirrel.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("tiger" "chases" "squirrel" "-")
The lion chases the squirrel.
Unknown
rconc
[@1: The lion chases the squirrel.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("lion" "chases" "squirrel" "+")
The tiger does not need the squirrel.
Unknown
inv-rconc
[@1: The tiger needs the squirrel.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("tiger" "needs" "squirrel" "-")
The squirrel chases the lion.
Unknown
random
[@0: The squirrel chases the lion.[CWA. Example of deepest failure = (FAIL)]]
("squirrel" "chases" "lion" "+")
The tiger does not like the tiger.
Unknown
inv-random
[@0: The tiger likes the tiger.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "likes" "tiger" "-")
The tiger is blue.
Unknown
random
[@0: The tiger is blue.[CWA. Example of deepest failure = (FAIL)]]
("tiger" "is" "blue" "+")
@0: The lion is blue.[(triple1 OR ((triple8 ((triple8) -> rule8)) -> rule4))] The lion is kind.[(triple2)] The lion is round.[(triple3)] The lion needs the squirrel.[(triple4)] The lion needs the tiger.[(triple5)] The squirrel is round.[(triple6)] The squirrel likes the lion.[(triple7)] The squirrel likes the tiger.[(triple8)] The tiger likes the lion.[(triple9)] The tiger likes the squirrel.[(triple10)] @1: The lion needs the lion.[(((triple1) -> rule6) OR ((((triple8 ((triple8) -> rule8)) -> rule4)) -> rule6))] The squirrel is kind.[(((triple7) -> rule3))] The squirrel needs the lion.[(((triple8) -> rule8))] The tiger is kind.[(((triple9) -> rule3))] @2: The lion is red.[(((((triple1) -> rule6)) -> rule5) OR ((((((triple8 ((triple8) -> rule8)) -> rule4)) -> rule6)) -> rule5))] The squirrel chases the squirrel.[(((((triple8) -> rule8) triple7) -> rule2))] The squirrel is red.[(((((triple8) -> rule8)) -> rule5))]
The lion is blue.
("lion" "is" "blue" "+")
triple1
((triple8 ((triple8) -> (rule8 % int2))) -> (rule4 % int1))
The lion is blue.
("lion" "is" "blue" "+")
int1
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int2
The lion is kind.
("lion" "is" "kind" "+")
triple2
The lion is round.
("lion" "is" "round" "+")
triple3
The lion needs the squirrel.
("lion" "needs" "squirrel" "+")
triple4
The lion needs the tiger.
("lion" "needs" "tiger" "+")
triple5
The squirrel is round.
("squirrel" "is" "round" "+")
triple6
The squirrel likes the lion.
("squirrel" "likes" "lion" "+")
triple7
The squirrel likes the tiger.
("squirrel" "likes" "tiger" "+")
triple8
The tiger likes the lion.
("tiger" "likes" "lion" "+")
triple9
The tiger likes the squirrel.
("tiger" "likes" "squirrel" "+")
triple10
The lion needs the lion.
("lion" "needs" "lion" "+")
((triple1) -> (rule6 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
((((triple8 ((triple8) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
The lion is blue.
("lion" "is" "blue" "+")
int2
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int3
The squirrel is kind.
("squirrel" "is" "kind" "+")
((triple7) -> (rule3 % int1))
The squirrel is kind.
("squirrel" "is" "kind" "+")
int1
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
((triple8) -> (rule8 % int1))
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int1
The tiger is kind.
("tiger" "is" "kind" "+")
((triple9) -> (rule3 % int1))
The tiger is kind.
("tiger" "is" "kind" "+")
int1
The lion is red.
("lion" "is" "red" "+")
((((triple1) -> (rule6 % int2))) -> (rule5 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
((((((triple8 ((triple8) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
The lion is red.
("lion" "is" "red" "+")
int1
The lion needs the lion.
("lion" "needs" "lion" "+")
int2
The lion is blue.
("lion" "is" "blue" "+")
int3
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int4
The squirrel chases the squirrel.
("squirrel" "chases" "squirrel" "+")
((((triple8) -> (rule8 % int2)) triple7) -> (rule2 % int1))
The squirrel chases the squirrel.
("squirrel" "chases" "squirrel" "+")
int1
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int2
The squirrel is red.
("squirrel" "is" "red" "+")
((((triple8) -> (rule8 % int2))) -> (rule5 % int1))
The squirrel is red.
("squirrel" "is" "red" "+")
int1
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int2