The bear chases the dog. The bear eats the dog. The bear eats the squirrel. The bear is young. The dog is young. The lion is green. The lion visits the dog. The squirrel eats the dog. The squirrel eats the lion. The squirrel visits the bear. If something is young then it chases the dog. If something is round and it chases the dog then it eats the lion. If something chases the dog then it chases the squirrel. If the lion chases the squirrel then the lion eats the bear. All cold things are round. If something eats the dog and the dog eats the lion then it chases the lion. If something chases the squirrel then it is cold. If something chases the squirrel then the squirrel chases the bear.
The bear chases the dog.
("bear" "chases" "dog" "+")
The bear eats the dog.
("bear" "eats" "dog" "+")
The bear eats the squirrel.
("bear" "eats" "squirrel" "+")
The bear is young.
("bear" "is" "young" "+")
The dog is young.
("dog" "is" "young" "+")
The lion is green.
("lion" "is" "green" "+")
The lion visits the dog.
("lion" "visits" "dog" "+")
The squirrel eats the dog.
("squirrel" "eats" "dog" "+")
The squirrel eats the lion.
("squirrel" "eats" "lion" "+")
The squirrel visits the bear.
("squirrel" "visits" "bear" "+")
If something is young then it chases the dog.
((("something" "is" "young" "+")) -> ("something" "chases" "dog" "+"))
If something is round and it chases the dog then it eats the lion.
((("something" "is" "round" "+") ("something" "chases" "dog" "+")) -> ("something" "eats" "lion" "+"))
If something chases the dog then it chases the squirrel.
((("something" "chases" "dog" "+")) -> ("something" "chases" "squirrel" "+"))
If the lion chases the squirrel then the lion eats the bear.
((("lion" "chases" "squirrel" "+")) -> ("lion" "eats" "bear" "+"))
All cold things are round.
((("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If something eats the dog and the dog eats the lion then it chases the lion.
((("something" "eats" "dog" "+") ("dog" "eats" "lion" "+")) -> ("something" "chases" "lion" "+"))
If something chases the squirrel then it is cold.
((("something" "chases" "squirrel" "+")) -> ("something" "is" "cold" "+"))
If something chases the squirrel then the squirrel chases the bear.
((("something" "chases" "squirrel" "+")) -> ("squirrel" "chases" "bear" "+"))
The dog is young.
True
1
proof
[(triple5)]
("dog" "is" "young" "+")
triple5
The dog is not young.
False
1
inv-proof
[(triple5)]
("dog" "is" "young" "-")
triple5
The dog chases the dog.
True
2
proof
[(((triple5) -> rule1))]
("dog" "chases" "dog" "+")
((triple5) -> (rule1 % int1))
The dog chases the dog.
("dog" "chases" "dog" "+")
int1
The bear does not chase the squirrel.
False
2
inv-proof
[(((triple1) -> rule3) OR ((((triple4) -> rule1)) -> rule3))]
("bear" "chases" "squirrel" "-")
((triple1) -> (rule3 % int1))
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int1
((((triple4) -> (rule1 % int2))) -> (rule3 % int1))
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int1
The bear chases the dog.
("bear" "chases" "dog" "+")
int2
The dog chases the squirrel.
True
3
proof
[(((((triple5) -> rule1)) -> rule3))]
("dog" "chases" "squirrel" "+")
((((triple5) -> (rule1 % int2))) -> (rule3 % int1))
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int1
The dog chases the dog.
("dog" "chases" "dog" "+")
int2
The squirrel does not chase the bear.
False
3
inv-proof
[(((((triple1) -> rule3)) -> rule8) OR ((((((triple4) -> rule1)) -> rule3)) -> rule8) OR ((((((triple5) -> rule1)) -> rule3)) -> rule8))]
("squirrel" "chases" "bear" "-")
((((triple1) -> (rule3 % int2))) -> (rule8 % int1))
The squirrel chases the bear.
("squirrel" "chases" "bear" "+")
int1
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int2
((((((triple4) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
The squirrel chases the bear.
("squirrel" "chases" "bear" "+")
int1
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int2
The bear chases the dog.
("bear" "chases" "dog" "+")
int3
((((((triple5) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
The squirrel chases the bear.
("squirrel" "chases" "bear" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int2
The dog chases the dog.
("dog" "chases" "dog" "+")
int3
The dog is cold.
True
4
proof
[(((((((triple5) -> rule1)) -> rule3)) -> rule7))]
("dog" "is" "cold" "+")
((((((triple5) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int2
The dog chases the dog.
("dog" "chases" "dog" "+")
int3
The dog is not cold.
False
4
inv-proof
[(((((((triple5) -> rule1)) -> rule3)) -> rule7))]
("dog" "is" "cold" "-")
((((((triple5) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int2
The dog chases the dog.
("dog" "chases" "dog" "+")
int3
The dog is round.
True
5
proof
[(((((((((triple5) -> rule1)) -> rule3)) -> rule7)) -> rule5))]
("dog" "is" "round" "+")
((((((((triple5) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
The dog is round.
("dog" "is" "round" "+")
int1
The dog is cold.
("dog" "is" "cold" "+")
int2
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int3
The dog chases the dog.
("dog" "chases" "dog" "+")
int4
The bear does not eat the lion.
False
6
inv-proof
[(((((((((triple1) -> rule3)) -> rule7)) -> rule5) triple1) -> rule2) OR ((((((((triple1) -> rule3)) -> rule7)) -> rule5) ((triple4) -> rule1)) -> rule2) OR ((((((((((triple4) -> rule1)) -> rule3)) -> rule7)) -> rule5) triple1) -> rule2) OR ((((((((((triple4) -> rule1)) -> rule3)) -> rule7)) -> rule5) ((triple4) -> rule1)) -> rule2))]
("bear" "eats" "lion" "-")
((((((((triple1) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) triple1) -> (rule2 % int1))
The bear eats the lion.
("bear" "eats" "lion" "+")
int1
The bear is round.
("bear" "is" "round" "+")
int2
The bear is cold.
("bear" "is" "cold" "+")
int3
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int4
((((((((triple1) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule5 % int3)) ((triple4) -> (rule1 % int2))) -> (rule2 % int1))
The bear eats the lion.
("bear" "eats" "lion" "+")
int1
The bear chases the dog.
("bear" "chases" "dog" "+")
int2
The bear is round.
("bear" "is" "round" "+")
int3
The bear is cold.
("bear" "is" "cold" "+")
int4
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int5
((((((((((triple4) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) triple1) -> (rule2 % int1))
The bear eats the lion.
("bear" "eats" "lion" "+")
int1
The bear is round.
("bear" "is" "round" "+")
int2
The bear is cold.
("bear" "is" "cold" "+")
int3
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int4
The bear chases the dog.
("bear" "chases" "dog" "+")
int5
((((((((((triple4) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) ((triple4) -> (rule1 % int5))) -> (rule2 % int1))
The bear eats the lion.
("bear" "eats" "lion" "+")
int1
The bear is round.
("bear" "is" "round" "+")
int2
The bear is cold.
("bear" "is" "cold" "+")
int3
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int4
The bear chases the dog.
("bear" "chases" "dog" "+")
int5
The dog eats the lion.
True
8
proof
[(((((((((((triple5) -> rule1)) -> rule3)) -> rule7)) -> rule5) ((triple5) -> rule1)) -> rule2))]
("dog" "eats" "lion" "+")
((((((((((triple5) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) ((triple5) -> (rule1 % int5))) -> (rule2 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2
The dog is cold.
("dog" "is" "cold" "+")
int3
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int4
The dog chases the dog.
("dog" "chases" "dog" "+")
int5
The dog does not eat the lion.
False
8
inv-proof
[(((((((((((triple5) -> rule1)) -> rule3)) -> rule7)) -> rule5) ((triple5) -> rule1)) -> rule2))]
("dog" "eats" "lion" "-")
((((((((((triple5) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) ((triple5) -> (rule1 % int5))) -> (rule2 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2
The dog is cold.
("dog" "is" "cold" "+")
int3
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int4
The dog chases the dog.
("dog" "chases" "dog" "+")
int5
The squirrel is not cold.
Unknown
inv-rconc
[@3: The squirrel is cold.[CWA. Example of deepest failure = (rule7 <- rule3 <- rule1 <- FAIL)]]
("squirrel" "is" "cold" "-")
The lion eats the lion.
Unknown
rconc
[@2: The lion eats the lion.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("lion" "eats" "lion" "+")
The squirrel does not chase the dog.
Unknown
inv-rconc
[@1: The squirrel chases the dog.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("squirrel" "chases" "dog" "-")
The lion chases the squirrel.
Unknown
rconc
[@2: The lion chases the squirrel.[CWA. Example of deepest failure = (rule3 <- rule1 <- FAIL)]]
("lion" "chases" "squirrel" "+")
The squirrel is not round.
Unknown
inv-rconc
[@4: The squirrel is round.[CWA. Example of deepest failure = (rule5 <- rule7 <- rule3 <- rule1 <- FAIL)]]
("squirrel" "is" "round" "-")
The dog chases the lion.
Unknown
rconc
[@1: The dog chases the lion.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("dog" "chases" "lion" "+")
The squirrel does not eat the squirrel.
Unknown
inv-random
[@0: The squirrel eats the squirrel.[CWA. Example of deepest failure = (FAIL)]]
("squirrel" "eats" "squirrel" "-")
The bear eats the bear.
Unknown
random
[@0: The bear eats the bear.[CWA. Example of deepest failure = (FAIL)]]
("bear" "eats" "bear" "+")
The squirrel does not eat the bear.
Unknown
inv-random
[@0: The squirrel eats the bear.[CWA. Example of deepest failure = (FAIL)]]
("squirrel" "eats" "bear" "-")
The dog is nice.
Unknown
random
[@0: The dog is nice.[CWA. Example of deepest failure = (FAIL)]]
("dog" "is" "nice" "+")
The dog does not visit the dog.
Unknown
inv-random
[@0: The dog visits the dog.[CWA. Example of deepest failure = (FAIL)]]
("dog" "visits" "dog" "-")
The bear chases the bear.
Unknown
random
[@0: The bear chases the bear.[CWA. Example of deepest failure = (FAIL)]]
("bear" "chases" "bear" "+")
@0: The bear chases the dog.[(triple1 OR ((triple4) -> rule1))] The bear eats the dog.[(triple2)] The bear eats the squirrel.[(triple3)] The bear is young.[(triple4)] The dog is young.[(triple5)] The lion is green.[(triple6)] The lion visits the dog.[(triple7)] The squirrel eats the dog.[(triple8)] The squirrel eats the lion.[(triple9)] The squirrel visits the bear.[(triple10)] @1: The bear chases the squirrel.[(((triple1) -> rule3) OR ((((triple4) -> rule1)) -> rule3))] The dog chases the dog.[(((triple5) -> rule1))] @2: The bear is cold.[(((((triple1) -> rule3)) -> rule7) OR ((((((triple4) -> rule1)) -> rule3)) -> rule7))] The dog chases the squirrel.[(((((triple5) -> rule1)) -> rule3))] The squirrel chases the bear.[(((((triple1) -> rule3)) -> rule8) OR ((((((triple4) -> rule1)) -> rule3)) -> rule8) OR ((((((triple5) -> rule1)) -> rule3)) -> rule8))] @3: The bear is round.[(((((((triple1) -> rule3)) -> rule7)) -> rule5) OR ((((((((triple4) -> rule1)) -> rule3)) -> rule7)) -> rule5))] The dog is cold.[(((((((triple5) -> rule1)) -> rule3)) -> rule7))] @4: The bear eats the lion.[(((((((((triple1) -> rule3)) -> rule7)) -> rule5) triple1) -> rule2) OR ((((((((triple1) -> rule3)) -> rule7)) -> rule5) ((triple4) -> rule1)) -> rule2) OR ((((((((((triple4) -> rule1)) -> rule3)) -> rule7)) -> rule5) triple1) -> rule2) OR ((((((((((triple4) -> rule1)) -> rule3)) -> rule7)) -> rule5) ((triple4) -> rule1)) -> rule2))] The dog is round.[(((((((((triple5) -> rule1)) -> rule3)) -> rule7)) -> rule5))] @5: The dog eats the lion.[(((((((((((triple5) -> rule1)) -> rule3)) -> rule7)) -> rule5) ((triple5) -> rule1)) -> rule2))] @6: The bear chases the lion.[(((triple2 ((((((((((triple5) -> rule1)) -> rule3)) -> rule7)) -> rule5) ((triple5) -> rule1)) -> rule2)) -> rule6))] The squirrel chases the lion.[(((triple8 ((((((((((triple5) -> rule1)) -> rule3)) -> rule7)) -> rule5) ((triple5) -> rule1)) -> rule2)) -> rule6))]
The bear chases the dog.
("bear" "chases" "dog" "+")
triple1
((triple4) -> (rule1 % int1))
The bear chases the dog.
("bear" "chases" "dog" "+")
int1
The bear eats the dog.
("bear" "eats" "dog" "+")
triple2
The bear eats the squirrel.
("bear" "eats" "squirrel" "+")
triple3
The bear is young.
("bear" "is" "young" "+")
triple4
The dog is young.
("dog" "is" "young" "+")
triple5
The lion is green.
("lion" "is" "green" "+")
triple6
The lion visits the dog.
("lion" "visits" "dog" "+")
triple7
The squirrel eats the dog.
("squirrel" "eats" "dog" "+")
triple8
The squirrel eats the lion.
("squirrel" "eats" "lion" "+")
triple9
The squirrel visits the bear.
("squirrel" "visits" "bear" "+")
triple10
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
((triple1) -> (rule3 % int1))
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int1
((((triple4) -> (rule1 % int2))) -> (rule3 % int1))
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int1
The bear chases the dog.
("bear" "chases" "dog" "+")
int2
The dog chases the dog.
("dog" "chases" "dog" "+")
((triple5) -> (rule1 % int1))
The dog chases the dog.
("dog" "chases" "dog" "+")
int1
The bear is cold.
("bear" "is" "cold" "+")
((((triple1) -> (rule3 % int2))) -> (rule7 % int1))
The bear is cold.
("bear" "is" "cold" "+")
int1
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int2
((((((triple4) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
The bear is cold.
("bear" "is" "cold" "+")
int1
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int2
The bear chases the dog.
("bear" "chases" "dog" "+")
int3
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
((((triple5) -> (rule1 % int2))) -> (rule3 % int1))
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int1
The dog chases the dog.
("dog" "chases" "dog" "+")
int2
The squirrel chases the bear.
("squirrel" "chases" "bear" "+")
((((triple1) -> (rule3 % int2))) -> (rule8 % int1))
The squirrel chases the bear.
("squirrel" "chases" "bear" "+")
int1
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int2
((((((triple4) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
The squirrel chases the bear.
("squirrel" "chases" "bear" "+")
int1
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int2
The bear chases the dog.
("bear" "chases" "dog" "+")
int3
((((((triple5) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
The squirrel chases the bear.
("squirrel" "chases" "bear" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int2
The dog chases the dog.
("dog" "chases" "dog" "+")
int3
The bear is round.
("bear" "is" "round" "+")
((((((triple1) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
The bear is round.
("bear" "is" "round" "+")
int1
The bear is cold.
("bear" "is" "cold" "+")
int2
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int3
((((((((triple4) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
The bear is round.
("bear" "is" "round" "+")
int1
The bear is cold.
("bear" "is" "cold" "+")
int2
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int3
The bear chases the dog.
("bear" "chases" "dog" "+")
int4
The dog is cold.
("dog" "is" "cold" "+")
((((((triple5) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int2
The dog chases the dog.
("dog" "chases" "dog" "+")
int3
The bear eats the lion.
("bear" "eats" "lion" "+")
((((((((triple1) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) triple1) -> (rule2 % int1))
The bear eats the lion.
("bear" "eats" "lion" "+")
int1
The bear is round.
("bear" "is" "round" "+")
int2
The bear is cold.
("bear" "is" "cold" "+")
int3
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int4
((((((((triple1) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule5 % int3)) ((triple4) -> (rule1 % int2))) -> (rule2 % int1))
The bear eats the lion.
("bear" "eats" "lion" "+")
int1
The bear chases the dog.
("bear" "chases" "dog" "+")
int2
The bear is round.
("bear" "is" "round" "+")
int3
The bear is cold.
("bear" "is" "cold" "+")
int4
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int5
((((((((((triple4) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) triple1) -> (rule2 % int1))
The bear eats the lion.
("bear" "eats" "lion" "+")
int1
The bear is round.
("bear" "is" "round" "+")
int2
The bear is cold.
("bear" "is" "cold" "+")
int3
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int4
The bear chases the dog.
("bear" "chases" "dog" "+")
int5
((((((((((triple4) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) ((triple4) -> (rule1 % int5))) -> (rule2 % int1))
The bear eats the lion.
("bear" "eats" "lion" "+")
int1
The bear is round.
("bear" "is" "round" "+")
int2
The bear is cold.
("bear" "is" "cold" "+")
int3
The bear chases the squirrel.
("bear" "chases" "squirrel" "+")
int4
The bear chases the dog.
("bear" "chases" "dog" "+")
int5
The dog is round.
("dog" "is" "round" "+")
((((((((triple5) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
The dog is round.
("dog" "is" "round" "+")
int1
The dog is cold.
("dog" "is" "cold" "+")
int2
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int3
The dog chases the dog.
("dog" "chases" "dog" "+")
int4
The dog eats the lion.
("dog" "eats" "lion" "+")
((((((((((triple5) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3))) -> (rule5 % int2)) ((triple5) -> (rule1 % int5))) -> (rule2 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2
The dog is cold.
("dog" "is" "cold" "+")
int3
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int4
The dog chases the dog.
("dog" "chases" "dog" "+")
int5
The bear chases the lion.
("bear" "chases" "lion" "+")
((triple2 ((((((((((triple5) -> (rule1 % int6))) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule5 % int3)) ((triple5) -> (rule1 % int6))) -> (rule2 % int2))) -> (rule6 % int1))
The bear chases the lion.
("bear" "chases" "lion" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
The dog is cold.
("dog" "is" "cold" "+")
int4
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int5
The dog chases the dog.
("dog" "chases" "dog" "+")
int6
The squirrel chases the lion.
("squirrel" "chases" "lion" "+")
((triple8 ((((((((((triple5) -> (rule1 % int6))) -> (rule3 % int5))) -> (rule7 % int4))) -> (rule5 % int3)) ((triple5) -> (rule1 % int6))) -> (rule2 % int2))) -> (rule6 % int1))
The squirrel chases the lion.
("squirrel" "chases" "lion" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
The dog is cold.
("dog" "is" "cold" "+")
int4
The dog chases the squirrel.
("dog" "chases" "squirrel" "+")
int5
The dog chases the dog.
("dog" "chases" "dog" "+")
int6