The cat chases the dog. The cat is red. The cat is young. The cat needs the cow. The cat needs the dog. The cat needs the lion. The cat visits the dog. The cow is green. The cow is red. The cow needs the cat. The cow needs the lion. The dog chases the cat. The dog chases the cow. The dog needs the cat. The lion is red. The lion needs the dog. If something visits the cat and it visits the cow then the cat is young. If something visits the cow then it chases the cat. If something is cold then it visits the cow. If something is red and it chases the cat then it visits the cat. If something is red and it needs the dog then it is cold. If something visits the cat then it visits the lion. If the dog visits the lion then the dog visits the cat. If something chases the cow then the cow visits the lion. If something needs the dog and it visits the dog then it chases the cat.
The cat chases the dog.
("cat" "chases" "dog" "+")
The cat is red.
("cat" "is" "red" "+")
The cat is young.
("cat" "is" "young" "+")
The cat needs the cow.
("cat" "needs" "cow" "+")
The cat needs the dog.
("cat" "needs" "dog" "+")
The cat needs the lion.
("cat" "needs" "lion" "+")
The cat visits the dog.
("cat" "visits" "dog" "+")
The cow is green.
("cow" "is" "green" "+")
The cow is red.
("cow" "is" "red" "+")
The cow needs the cat.
("cow" "needs" "cat" "+")
The cow needs the lion.
("cow" "needs" "lion" "+")
The dog chases the cat.
("dog" "chases" "cat" "+")
The dog chases the cow.
("dog" "chases" "cow" "+")
The dog needs the cat.
("dog" "needs" "cat" "+")
The lion is red.
("lion" "is" "red" "+")
The lion needs the dog.
("lion" "needs" "dog" "+")
If something visits the cat and it visits the cow then the cat is young.
((("something" "visits" "cat" "+") ("something" "visits" "cow" "+")) -> ("cat" "is" "young" "+"))
If something visits the cow then it chases the cat.
((("something" "visits" "cow" "+")) -> ("something" "chases" "cat" "+"))
If something is cold then it visits the cow.
((("something" "is" "cold" "+")) -> ("something" "visits" "cow" "+"))
If something is red and it chases the cat then it visits the cat.
((("something" "is" "red" "+") ("something" "chases" "cat" "+")) -> ("something" "visits" "cat" "+"))
If something is red and it needs the dog then it is cold.
((("something" "is" "red" "+") ("something" "needs" "dog" "+")) -> ("something" "is" "cold" "+"))
If something visits the cat then it visits the lion.
((("something" "visits" "cat" "+")) -> ("something" "visits" "lion" "+"))
If the dog visits the lion then the dog visits the cat.
((("dog" "visits" "lion" "+")) -> ("dog" "visits" "cat" "+"))
If something chases the cow then the cow visits the lion.
((("something" "chases" "cow" "+")) -> ("cow" "visits" "lion" "+"))
If something needs the dog and it visits the dog then it chases the cat.
((("something" "needs" "dog" "+") ("something" "visits" "dog" "+")) -> ("something" "chases" "cat" "+"))
The cat is young.
True
1
proof
[(triple3 OR ((((triple2 ((triple5 triple7) -> rule9)) -> rule4) ((((triple2 triple5) -> rule5)) -> rule3)) -> rule1) OR ((((triple15 ((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2)) -> rule4) ((((triple15 triple16) -> rule5)) -> rule3)) -> rule1) OR ((((triple2 ((((((triple2 triple5) -> rule5)) -> rule3)) -> rule2)) -> rule4) ((((triple2 triple5) -> rule5)) -> rule3)) -> rule1))]
("cat" "is" "young" "+")
triple3
((((triple2 ((triple5 triple7) -> (rule9 % int5))) -> (rule4 % int4)) ((((triple2 triple5) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat visits the cow.
("cat" "visits" "cow" "+")
int2
The cat is cold.
("cat" "is" "cold" "+")
int3
The cat visits the cat.
("cat" "visits" "cat" "+")
int4
The cat chases the cat.
("cat" "chases" "cat" "+")
int5
((((triple15 ((((((triple15 triple16) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) ((((triple15 triple16) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule1 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The lion visits the cat.
("lion" "visits" "cat" "+")
int2
The lion chases the cat.
("lion" "chases" "cat" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
The lion is cold.
("lion" "is" "cold" "+")
int5
((((triple2 ((((((triple2 triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) ((((triple2 triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule1 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat visits the cow.
("cat" "visits" "cow" "+")
int4
The cat is cold.
("cat" "is" "cold" "+")
int5
The lion is not red.
False
1
inv-proof
[(triple15)]
("lion" "is" "red" "-")
triple15
The cow visits the lion.
True
2
proof
[(((triple13) -> rule8))]
("cow" "visits" "lion" "+")
((triple13) -> (rule8 % int1))
The cow visits the lion.
("cow" "visits" "lion" "+")
int1
The cat does not chase the cat.
False
3
inv-proof
[(((triple5 triple7) -> rule9) OR ((((((triple2 triple5) -> rule5)) -> rule3)) -> rule2))]
("cat" "chases" "cat" "-")
((triple5 triple7) -> (rule9 % int1))
The cat chases the cat.
("cat" "chases" "cat" "+")
int1
((((((triple2 triple5) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat chases the cat.
("cat" "chases" "cat" "+")
int1
The cat visits the cow.
("cat" "visits" "cow" "+")
int2
The cat is cold.
("cat" "is" "cold" "+")
int3
The cat visits the cat.
True
5
proof
[(((triple2 ((triple5 triple7) -> rule9)) -> rule4) OR ((triple2 ((((((triple2 triple5) -> rule5)) -> rule3)) -> rule2)) -> rule4))]
("cat" "visits" "cat" "+")
((triple2 ((triple5 triple7) -> (rule9 % int2))) -> (rule4 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat chases the cat.
("cat" "chases" "cat" "+")
int2
((triple2 ((((((triple2 triple5) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat chases the cat.
("cat" "chases" "cat" "+")
int2
The cat visits the cow.
("cat" "visits" "cow" "+")
int3
The cat is cold.
("cat" "is" "cold" "+")
int4
The cat does not visit the cow.
False
4
inv-proof
[(((((triple2 triple5) -> rule5)) -> rule3))]
("cat" "visits" "cow" "-")
((((triple2 triple5) -> (rule5 % int2))) -> (rule3 % int1))
The cat visits the cow.
("cat" "visits" "cow" "+")
int1
The cat is cold.
("cat" "is" "cold" "+")
int2
The lion chases the cat.
True
5
proof
[(((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2))]
("lion" "chases" "cat" "+")
((((((triple15 triple16) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The lion chases the cat.
("lion" "chases" "cat" "+")
int1
The lion visits the cow.
("lion" "visits" "cow" "+")
int2
The lion is cold.
("lion" "is" "cold" "+")
int3
The cat does not visit the lion.
False
6
inv-proof
[(((((triple2 ((triple5 triple7) -> rule9)) -> rule4)) -> rule6) OR ((((triple2 ((((((triple2 triple5) -> rule5)) -> rule3)) -> rule2)) -> rule4)) -> rule6))]
("cat" "visits" "lion" "-")
((((triple2 ((triple5 triple7) -> (rule9 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The cat visits the lion.
("cat" "visits" "lion" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
((((triple2 ((((((triple2 triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The cat visits the lion.
("cat" "visits" "lion" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat visits the cow.
("cat" "visits" "cow" "+")
int4
The cat is cold.
("cat" "is" "cold" "+")
int5
The lion visits the cat.
True
7
proof
[(((triple15 ((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2)) -> rule4))]
("lion" "visits" "cat" "+")
((triple15 ((((((triple15 triple16) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
The lion visits the cat.
("lion" "visits" "cat" "+")
int1
The lion chases the cat.
("lion" "chases" "cat" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is cold.
("lion" "is" "cold" "+")
int4
The lion does not visit the cat.
False
7
inv-proof
[(((triple15 ((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2)) -> rule4))]
("lion" "visits" "cat" "-")
((triple15 ((((((triple15 triple16) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
The lion visits the cat.
("lion" "visits" "cat" "+")
int1
The lion chases the cat.
("lion" "chases" "cat" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is cold.
("lion" "is" "cold" "+")
int4
The lion visits the lion.
True
8
proof
[(((((triple15 ((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2)) -> rule4)) -> rule6))]
("lion" "visits" "lion" "+")
((((triple15 ((((((triple15 triple16) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The lion visits the lion.
("lion" "visits" "lion" "+")
int1
The lion visits the cat.
("lion" "visits" "cat" "+")
int2
The lion chases the cat.
("lion" "chases" "cat" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
The lion is cold.
("lion" "is" "cold" "+")
int5
The lion does not visit the lion.
False
8
inv-proof
[(((((triple15 ((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2)) -> rule4)) -> rule6))]
("lion" "visits" "lion" "-")
((((triple15 ((((((triple15 triple16) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The lion visits the lion.
("lion" "visits" "lion" "+")
int1
The lion visits the cat.
("lion" "visits" "cat" "+")
int2
The lion chases the cat.
("lion" "chases" "cat" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
The lion is cold.
("lion" "is" "cold" "+")
int5
The cow does not visit the cow.
Unknown
inv-rconc
[@2: The cow visits the cow.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("cow" "visits" "cow" "-")
The dog visits the cat.
Unknown
rconc
[@3: The dog visits the cat.[CWA. Example of deepest failure = (rule7 <- rule6 <- rule4 <- FAIL)]]
("dog" "visits" "cat" "+")
The dog is not cold.
Unknown
inv-rconc
[@1: The dog is cold.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("dog" "is" "cold" "-")
The dog visits the lion.
Unknown
rconc
[@2: The dog visits the lion.[CWA. Example of deepest failure = (rule6 <- rule4 <- FAIL)]]
("dog" "visits" "lion" "+")
The cow is not cold.
Unknown
inv-rconc
[@1: The cow is cold.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("cow" "is" "cold" "-")
The dog visits the cow.
Unknown
rconc
[@2: The dog visits the cow.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("dog" "visits" "cow" "+")
The lion is not green.
Unknown
inv-random
[@0: The lion is green.[CWA. Example of deepest failure = (FAIL)]]
("lion" "is" "green" "-")
The cow visits the dog.
Unknown
random
[@0: The cow visits the dog.[CWA. Example of deepest failure = (FAIL)]]
("cow" "visits" "dog" "+")
The cow does not chase the lion.
Unknown
inv-random
[@0: The cow chases the lion.[CWA. Example of deepest failure = (FAIL)]]
("cow" "chases" "lion" "-")
The cat is kind.
Unknown
random
[@0: The cat is kind.[CWA. Example of deepest failure = (FAIL)]]
("cat" "is" "kind" "+")
The lion is not young.
Unknown
inv-random
[@0: The lion is young.[CWA. Example of deepest failure = (FAIL)]]
("lion" "is" "young" "-")
The dog is young.
Unknown
random
[@0: The dog is young.[CWA. Example of deepest failure = (FAIL)]]
("dog" "is" "young" "+")
@0: The cat chases the dog.[(triple1)] The cat is red.[(triple2)] The cat is young.[(triple3 OR ((((triple2 ((triple5 triple7) -> rule9)) -> rule4) ((((triple2 triple5) -> rule5)) -> rule3)) -> rule1) OR ((((triple15 ((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2)) -> rule4) ((((triple15 triple16) -> rule5)) -> rule3)) -> rule1) OR ((((triple2 ((((((triple2 triple5) -> rule5)) -> rule3)) -> rule2)) -> rule4) ((((triple2 triple5) -> rule5)) -> rule3)) -> rule1))] The cat needs the cow.[(triple4)] The cat needs the dog.[(triple5)] The cat needs the lion.[(triple6)] The cat visits the dog.[(triple7)] The cow is green.[(triple8)] The cow is red.[(triple9)] The cow needs the cat.[(triple10)] The cow needs the lion.[(triple11)] The dog chases the cat.[(triple12)] The dog chases the cow.[(triple13)] The dog needs the cat.[(triple14)] The lion is red.[(triple15)] The lion needs the dog.[(triple16)] @1: The cat chases the cat.[(((triple5 triple7) -> rule9) OR ((((((triple2 triple5) -> rule5)) -> rule3)) -> rule2))] The cat is cold.[(((triple2 triple5) -> rule5))] The cow visits the lion.[(((triple13) -> rule8))] The lion is cold.[(((triple15 triple16) -> rule5))] @2: The cat visits the cat.[(((triple2 ((triple5 triple7) -> rule9)) -> rule4) OR ((triple2 ((((((triple2 triple5) -> rule5)) -> rule3)) -> rule2)) -> rule4))] The cat visits the cow.[(((((triple2 triple5) -> rule5)) -> rule3))] The lion visits the cow.[(((((triple15 triple16) -> rule5)) -> rule3))] @3: The cat visits the lion.[(((((triple2 ((triple5 triple7) -> rule9)) -> rule4)) -> rule6) OR ((((triple2 ((((((triple2 triple5) -> rule5)) -> rule3)) -> rule2)) -> rule4)) -> rule6))] The lion chases the cat.[(((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2))] @4: The lion visits the cat.[(((triple15 ((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2)) -> rule4))] @5: The lion visits the lion.[(((((triple15 ((((((triple15 triple16) -> rule5)) -> rule3)) -> rule2)) -> rule4)) -> rule6))]
The cat chases the dog.
("cat" "chases" "dog" "+")
triple1
The cat is red.
("cat" "is" "red" "+")
triple2
The cat is young.
("cat" "is" "young" "+")
triple3
((((triple2 ((triple5 triple7) -> (rule9 % int5))) -> (rule4 % int4)) ((((triple2 triple5) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule1 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat visits the cow.
("cat" "visits" "cow" "+")
int2
The cat is cold.
("cat" "is" "cold" "+")
int3
The cat visits the cat.
("cat" "visits" "cat" "+")
int4
The cat chases the cat.
("cat" "chases" "cat" "+")
int5
((((triple15 ((((((triple15 triple16) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) ((((triple15 triple16) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule1 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The lion visits the cat.
("lion" "visits" "cat" "+")
int2
The lion chases the cat.
("lion" "chases" "cat" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
The lion is cold.
("lion" "is" "cold" "+")
int5
((((triple2 ((((((triple2 triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) ((((triple2 triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule1 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat visits the cow.
("cat" "visits" "cow" "+")
int4
The cat is cold.
("cat" "is" "cold" "+")
int5
The cat needs the cow.
("cat" "needs" "cow" "+")
triple4
The cat needs the dog.
("cat" "needs" "dog" "+")
triple5
The cat needs the lion.
("cat" "needs" "lion" "+")
triple6
The cat visits the dog.
("cat" "visits" "dog" "+")
triple7
The cow is green.
("cow" "is" "green" "+")
triple8
The cow is red.
("cow" "is" "red" "+")
triple9
The cow needs the cat.
("cow" "needs" "cat" "+")
triple10
The cow needs the lion.
("cow" "needs" "lion" "+")
triple11
The dog chases the cat.
("dog" "chases" "cat" "+")
triple12
The dog chases the cow.
("dog" "chases" "cow" "+")
triple13
The dog needs the cat.
("dog" "needs" "cat" "+")
triple14
The lion is red.
("lion" "is" "red" "+")
triple15
The lion needs the dog.
("lion" "needs" "dog" "+")
triple16
The cat chases the cat.
("cat" "chases" "cat" "+")
((triple5 triple7) -> (rule9 % int1))
The cat chases the cat.
("cat" "chases" "cat" "+")
int1
((((((triple2 triple5) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat chases the cat.
("cat" "chases" "cat" "+")
int1
The cat visits the cow.
("cat" "visits" "cow" "+")
int2
The cat is cold.
("cat" "is" "cold" "+")
int3
The cat is cold.
("cat" "is" "cold" "+")
((triple2 triple5) -> (rule5 % int1))
The cat is cold.
("cat" "is" "cold" "+")
int1
The cow visits the lion.
("cow" "visits" "lion" "+")
((triple13) -> (rule8 % int1))
The cow visits the lion.
("cow" "visits" "lion" "+")
int1
The lion is cold.
("lion" "is" "cold" "+")
((triple15 triple16) -> (rule5 % int1))
The lion is cold.
("lion" "is" "cold" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
((triple2 ((triple5 triple7) -> (rule9 % int2))) -> (rule4 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat chases the cat.
("cat" "chases" "cat" "+")
int2
((triple2 ((((((triple2 triple5) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat chases the cat.
("cat" "chases" "cat" "+")
int2
The cat visits the cow.
("cat" "visits" "cow" "+")
int3
The cat is cold.
("cat" "is" "cold" "+")
int4
The cat visits the cow.
("cat" "visits" "cow" "+")
((((triple2 triple5) -> (rule5 % int2))) -> (rule3 % int1))
The cat visits the cow.
("cat" "visits" "cow" "+")
int1
The cat is cold.
("cat" "is" "cold" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
((((triple15 triple16) -> (rule5 % int2))) -> (rule3 % int1))
The lion visits the cow.
("lion" "visits" "cow" "+")
int1
The lion is cold.
("lion" "is" "cold" "+")
int2
The cat visits the lion.
("cat" "visits" "lion" "+")
((((triple2 ((triple5 triple7) -> (rule9 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The cat visits the lion.
("cat" "visits" "lion" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
((((triple2 ((((((triple2 triple5) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The cat visits the lion.
("cat" "visits" "lion" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat visits the cow.
("cat" "visits" "cow" "+")
int4
The cat is cold.
("cat" "is" "cold" "+")
int5
The lion chases the cat.
("lion" "chases" "cat" "+")
((((((triple15 triple16) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The lion chases the cat.
("lion" "chases" "cat" "+")
int1
The lion visits the cow.
("lion" "visits" "cow" "+")
int2
The lion is cold.
("lion" "is" "cold" "+")
int3
The lion visits the cat.
("lion" "visits" "cat" "+")
((triple15 ((((((triple15 triple16) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
The lion visits the cat.
("lion" "visits" "cat" "+")
int1
The lion chases the cat.
("lion" "chases" "cat" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is cold.
("lion" "is" "cold" "+")
int4
The lion visits the lion.
("lion" "visits" "lion" "+")
((((triple15 ((((((triple15 triple16) -> (rule5 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The lion visits the lion.
("lion" "visits" "lion" "+")
int1
The lion visits the cat.
("lion" "visits" "cat" "+")
int2
The lion chases the cat.
("lion" "chases" "cat" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
The lion is cold.
("lion" "is" "cold" "+")
int5