The cat visits the lion. The cat visits the squirrel. The lion is green. The mouse is rough. The mouse visits the cat. The squirrel is young. The squirrel needs the mouse. If something eats the squirrel then it eats the cat. If something eats the lion and the lion eats the mouse then the lion eats the squirrel. If something is big then it needs the cat. If the lion needs the cat and the lion is not big then the lion eats the cat. If the mouse visits the cat and the cat does not visit the squirrel then the cat is not young. If something is young then it needs the lion.
The cat visits the lion.
("cat" "visits" "lion" "+")
The cat visits the squirrel.
("cat" "visits" "squirrel" "+")
The lion is green.
("lion" "is" "green" "+")
The mouse is rough.
("mouse" "is" "rough" "+")
The mouse visits the cat.
("mouse" "visits" "cat" "+")
The squirrel is young.
("squirrel" "is" "young" "+")
The squirrel needs the mouse.
("squirrel" "needs" "mouse" "+")
If something eats the squirrel then it eats the cat.
((("something" "eats" "squirrel" "+")) -> ("something" "eats" "cat" "+"))
If something eats the lion and the lion eats the mouse then the lion eats the squirrel.
((("something" "eats" "lion" "+") ("lion" "eats" "mouse" "+")) -> ("lion" "eats" "squirrel" "+"))
If something is big then it needs the cat.
((("something" "is" "big" "+")) -> ("something" "needs" "cat" "+"))
If the lion needs the cat and the lion is not big then the lion eats the cat.
((("lion" "needs" "cat" "+") ("lion" "is" "big" "~")) -> ("lion" "eats" "cat" "+"))
If the mouse visits the cat and the cat does not visit the squirrel then the cat is not young.
((("mouse" "visits" "cat" "+") ("cat" "visits" "squirrel" "~")) -> ("cat" "is" "young" "-"))
If something is young then it needs the lion.
((("something" "is" "young" "+")) -> ("something" "needs" "lion" "+"))
The cat visits the squirrel.
True
1
proof
[(triple2)]
("cat" "visits" "squirrel" "+")
triple2
The mouse does not visit the cat.
False
1
inv-proof
[(triple5)]
("mouse" "visits" "cat" "-")
triple5
The squirrel needs the lion.
True
2
proof
[(((triple6) -> rule6))]
("squirrel" "needs" "lion" "+")
((triple6) -> (rule6 % int1))
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int1
The squirrel does not need the lion.
False
2
inv-proof
[(((triple6) -> rule6))]
("squirrel" "needs" "lion" "-")
((triple6) -> (rule6 % int1))
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int1
The cat does not need the cat.
Unknown
inv-rconc
[@1: The cat needs the cat.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("cat" "needs" "cat" "-")
The lion eats the cat.
Unknown
rconc
[@2: The lion eats the cat.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("lion" "eats" "cat" "+")
The squirrel does not eat the mouse.
Unknown
inv-random
[@0: The squirrel eats the mouse.[CWA. Example of deepest failure = (FAIL)]]
("squirrel" "eats" "mouse" "-")
The mouse needs the squirrel.
Unknown
random
[@0: The mouse needs the squirrel.[CWA. Example of deepest failure = (FAIL)]]
("mouse" "needs" "squirrel" "+")
@0: The cat visits the lion.[(triple1)] The cat visits the squirrel.[(triple2)] The lion is green.[(triple3)] The mouse is rough.[(triple4)] The mouse visits the cat.[(triple5)] The squirrel is young.[(triple6)] The squirrel needs the mouse.[(triple7)] @1: The squirrel needs the lion.[(((triple6) -> rule6))]
The cat visits the lion.
("cat" "visits" "lion" "+")
triple1
The cat visits the squirrel.
("cat" "visits" "squirrel" "+")
triple2
The lion is green.
("lion" "is" "green" "+")
triple3
The mouse is rough.
("mouse" "is" "rough" "+")
triple4
The mouse visits the cat.
("mouse" "visits" "cat" "+")
triple5
The squirrel is young.
("squirrel" "is" "young" "+")
triple6
The squirrel needs the mouse.
("squirrel" "needs" "mouse" "+")
triple7
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
((triple6) -> (rule6 % int1))
The squirrel needs the lion.
("squirrel" "needs" "lion" "+")
int1