The cat chases the lion. The dog is kind. The lion chases the squirrel. The lion is green. The lion needs the cat. The squirrel chases the lion. The squirrel is cold. If something chases the squirrel then it eats the cat. If the dog is kind then the dog eats the lion. All kind things are cold. If something is green then it eats the lion. If something needs the lion then it is kind. If something is kind and it eats the lion then it chases the squirrel. If something is rough and big then it is kind. If something eats the cat then it needs the cat.
The cat chases the lion.
("cat" "chases" "lion" "+")
The dog is kind.
("dog" "is" "kind" "+")
The lion chases the squirrel.
("lion" "chases" "squirrel" "+")
The lion is green.
("lion" "is" "green" "+")
The lion needs the cat.
("lion" "needs" "cat" "+")
The squirrel chases the lion.
("squirrel" "chases" "lion" "+")
The squirrel is cold.
("squirrel" "is" "cold" "+")
If something chases the squirrel then it eats the cat.
((("something" "chases" "squirrel" "+")) -> ("something" "eats" "cat" "+"))
If the dog is kind then the dog eats the lion.
((("dog" "is" "kind" "+")) -> ("dog" "eats" "lion" "+"))
All kind things are cold.
((("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
If something is green then it eats the lion.
((("something" "is" "green" "+")) -> ("something" "eats" "lion" "+"))
If something needs the lion then it is kind.
((("something" "needs" "lion" "+")) -> ("something" "is" "kind" "+"))
If something is kind and it eats the lion then it chases the squirrel.
((("something" "is" "kind" "+") ("something" "eats" "lion" "+")) -> ("something" "chases" "squirrel" "+"))
If something is rough and big then it is kind.
((("something" "is" "rough" "+") ("something" "is" "big" "+")) -> ("something" "is" "kind" "+"))
If something eats the cat then it needs the cat.
((("something" "eats" "cat" "+")) -> ("something" "needs" "cat" "+"))
The cat chases the lion.
True
1
proof
[(triple1)]
("cat" "chases" "lion" "+")
triple1
The lion does not chase the squirrel.
False
1
inv-proof
[(triple3)]
("lion" "chases" "squirrel" "-")
triple3
The dog is cold.
True
2
proof
[(((triple2) -> rule3))]
("dog" "is" "cold" "+")
((triple2) -> (rule3 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is not cold.
False
2
inv-proof
[(((triple2) -> rule3))]
("dog" "is" "cold" "-")
((triple2) -> (rule3 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog chases the squirrel.
True
4
proof
[(((triple2 ((triple2) -> rule2)) -> rule6))]
("dog" "chases" "squirrel" "+")
((triple2 ((triple2) -> (rule2 % int2))) -> (rule6 % int1))
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
The dog does not chase the squirrel.
False
4
inv-proof
[(((triple2 ((triple2) -> rule2)) -> rule6))]
("dog" "chases" "squirrel" "-")
((triple2 ((triple2) -> (rule2 % int2))) -> (rule6 % int1))
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
The dog eats the cat.
True
5
proof
[(((((triple2 ((triple2) -> rule2)) -> rule6)) -> rule1))]
("dog" "eats" "cat" "+")
((((triple2 ((triple2) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
The dog eats the cat.
("dog" "eats" "cat" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int2
The dog eats the lion.
("dog" "eats" "lion" "+")
int3
The dog does not eat the cat.
False
5
inv-proof
[(((((triple2 ((triple2) -> rule2)) -> rule6)) -> rule1))]
("dog" "eats" "cat" "-")
((((triple2 ((triple2) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
The dog eats the cat.
("dog" "eats" "cat" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int2
The dog eats the lion.
("dog" "eats" "lion" "+")
int3
The cat does not eat the lion.
Unknown
inv-rconc
[@1: The cat eats the lion.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("cat" "eats" "lion" "-")
The lion is cold.
Unknown
rconc
[@2: The lion is cold.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("lion" "is" "cold" "+")
The squirrel does not chase the squirrel.
Unknown
inv-rconc
[@2: The squirrel chases the squirrel.[CWA. Example of deepest failure = (rule6 <- rule5 <- FAIL)]]
("squirrel" "chases" "squirrel" "-")
The squirrel needs the cat.
Unknown
rconc
[@4: The squirrel needs the cat.[CWA. Example of deepest failure = (rule8 <- rule1 <- rule6 <- rule5 <- FAIL)]]
("squirrel" "needs" "cat" "+")
The cat does not chase the dog.
Unknown
inv-random
[@0: The cat chases the dog.[CWA. Example of deepest failure = (FAIL)]]
("cat" "chases" "dog" "-")
The lion chases the cat.
Unknown
random
[@0: The lion chases the cat.[CWA. Example of deepest failure = (FAIL)]]
("lion" "chases" "cat" "+")
The dog does not eat the dog.
Unknown
inv-random
[@0: The dog eats the dog.[CWA. Example of deepest failure = (FAIL)]]
("dog" "eats" "dog" "-")
The cat needs the squirrel.
Unknown
random
[@0: The cat needs the squirrel.[CWA. Example of deepest failure = (FAIL)]]
("cat" "needs" "squirrel" "+")
@0: The cat chases the lion.[(triple1)] The dog is kind.[(triple2)] The lion chases the squirrel.[(triple3)] The lion is green.[(triple4)] The lion needs the cat.[(triple5 OR ((((triple3) -> rule1)) -> rule8))] The squirrel chases the lion.[(triple6)] The squirrel is cold.[(triple7)] @1: The dog eats the lion.[(((triple2) -> rule2))] The dog is cold.[(((triple2) -> rule3))] The lion eats the cat.[(((triple3) -> rule1))] The lion eats the lion.[(((triple4) -> rule4))] @2: The dog chases the squirrel.[(((triple2 ((triple2) -> rule2)) -> rule6))] @3: The dog eats the cat.[(((((triple2 ((triple2) -> rule2)) -> rule6)) -> rule1))] @4: The dog needs the cat.[(((((((triple2 ((triple2) -> rule2)) -> rule6)) -> rule1)) -> rule8))]
The cat chases the lion.
("cat" "chases" "lion" "+")
triple1
The dog is kind.
("dog" "is" "kind" "+")
triple2
The lion chases the squirrel.
("lion" "chases" "squirrel" "+")
triple3
The lion is green.
("lion" "is" "green" "+")
triple4
The lion needs the cat.
("lion" "needs" "cat" "+")
triple5
((((triple3) -> (rule1 % int2))) -> (rule8 % int1))
The lion needs the cat.
("lion" "needs" "cat" "+")
int1
The lion eats the cat.
("lion" "eats" "cat" "+")
int2
The squirrel chases the lion.
("squirrel" "chases" "lion" "+")
triple6
The squirrel is cold.
("squirrel" "is" "cold" "+")
triple7
The dog eats the lion.
("dog" "eats" "lion" "+")
((triple2) -> (rule2 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The dog is cold.
("dog" "is" "cold" "+")
((triple2) -> (rule3 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The lion eats the cat.
("lion" "eats" "cat" "+")
((triple3) -> (rule1 % int1))
The lion eats the cat.
("lion" "eats" "cat" "+")
int1
The lion eats the lion.
("lion" "eats" "lion" "+")
((triple4) -> (rule4 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
((triple2 ((triple2) -> (rule2 % int2))) -> (rule6 % int1))
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
The dog eats the cat.
("dog" "eats" "cat" "+")
((((triple2 ((triple2) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
The dog eats the cat.
("dog" "eats" "cat" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int2
The dog eats the lion.
("dog" "eats" "lion" "+")
int3
The dog needs the cat.
("dog" "needs" "cat" "+")
((((((triple2 ((triple2) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
The dog needs the cat.
("dog" "needs" "cat" "+")
int1
The dog eats the cat.
("dog" "eats" "cat" "+")
int2
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int3
The dog eats the lion.
("dog" "eats" "lion" "+")
int4