The cat chases the dog. The cat chases the rabbit. The cat is cold. The cat is round. The cat needs the rabbit. The cat sees the rabbit. The cow chases the cat. The cow does not chase the rabbit. The cow does not need the dog. The cow needs the rabbit. The dog is not young. The rabbit chases the dog. The rabbit is cold. The rabbit is round. The rabbit needs the cat. The rabbit sees the cat. If the dog is round then the dog chases the cow. If someone needs the cow then the cow is cold. If someone is nice and they need the cat then they are not round. If someone is young then they need the cow. All cold people are young. If the cat does not chase the rabbit and the rabbit is not round then the cat chases the cow.
The cat chases the dog.
("cat" "chases" "dog" "+")
The cat chases the rabbit.
("cat" "chases" "rabbit" "+")
The cat is cold.
("cat" "is" "cold" "+")
The cat is round.
("cat" "is" "round" "+")
The cat needs the rabbit.
("cat" "needs" "rabbit" "+")
The cat sees the rabbit.
("cat" "sees" "rabbit" "+")
The cow chases the cat.
("cow" "chases" "cat" "+")
The cow does not chase the rabbit.
("cow" "chases" "rabbit" "-")
The cow does not need the dog.
("cow" "needs" "dog" "-")
The cow needs the rabbit.
("cow" "needs" "rabbit" "+")
The dog is not young.
("dog" "is" "young" "-")
The rabbit chases the dog.
("rabbit" "chases" "dog" "+")
The rabbit is cold.
("rabbit" "is" "cold" "+")
The rabbit is round.
("rabbit" "is" "round" "+")
The rabbit needs the cat.
("rabbit" "needs" "cat" "+")
The rabbit sees the cat.
("rabbit" "sees" "cat" "+")
If the dog is round then the dog chases the cow.
((("dog" "is" "round" "+")) -> ("dog" "chases" "cow" "+"))
If someone needs the cow then the cow is cold.
((("someone" "needs" "cow" "+")) -> ("cow" "is" "cold" "+"))
If someone is nice and they need the cat then they are not round.
((("someone" "is" "nice" "+") ("someone" "needs" "cat" "+")) -> ("someone" "is" "round" "-"))
If someone is young then they need the cow.
((("someone" "is" "young" "+")) -> ("someone" "needs" "cow" "+"))
All cold people are young.
((("someone" "is" "cold" "+")) -> ("someone" "is" "young" "+"))
If the cat does not chase the rabbit and the rabbit is not round then the cat chases the cow.
((("cat" "chases" "rabbit" "~") ("rabbit" "is" "round" "~")) -> ("cat" "chases" "cow" "+"))
The rabbit chases the dog.
True
1
proof
[(triple12)]
("rabbit" "chases" "dog" "+")
triple12
The rabbit is not round.
False
1
inv-proof
[(triple14)]
("rabbit" "is" "round" "-")
triple14
The rabbit is young.
True
2
proof
[(((triple13) -> rule5))]
("rabbit" "is" "young" "+")
((triple13) -> (rule5 % int1))
The rabbit is young.
("rabbit" "is" "young" "+")
int1
The rabbit is not young.
False
2
inv-proof
[(((triple13) -> rule5))]
("rabbit" "is" "young" "-")
((triple13) -> (rule5 % int1))
The rabbit is young.
("rabbit" "is" "young" "+")
int1
The rabbit needs the cow.
True
3
proof
[(((((triple13) -> rule5)) -> rule4))]
("rabbit" "needs" "cow" "+")
((((triple13) -> (rule5 % int2))) -> (rule4 % int1))
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int1
The rabbit is young.
("rabbit" "is" "young" "+")
int2
The rabbit does not need the cow.
False
3
inv-proof
[(((((triple13) -> rule5)) -> rule4))]
("rabbit" "needs" "cow" "-")
((((triple13) -> (rule5 % int2))) -> (rule4 % int1))
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int1
The rabbit is young.
("rabbit" "is" "young" "+")
int2
The cow is cold.
True
4
proof
[(((((((triple13) -> rule5)) -> rule4)) -> rule2) OR ((((((triple3) -> rule5)) -> rule4)) -> rule2))]
("cow" "is" "cold" "+")
((((((triple13) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
The cow is cold.
("cow" "is" "cold" "+")
int1
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int2
The rabbit is young.
("rabbit" "is" "young" "+")
int3
((((((triple3) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
The cow is cold.
("cow" "is" "cold" "+")
int1
The cat needs the cow.
("cat" "needs" "cow" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
The cow is not cold.
False
4
inv-proof
[(((((((triple13) -> rule5)) -> rule4)) -> rule2) OR ((((((triple3) -> rule5)) -> rule4)) -> rule2))]
("cow" "is" "cold" "-")
((((((triple13) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
The cow is cold.
("cow" "is" "cold" "+")
int1
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int2
The rabbit is young.
("rabbit" "is" "young" "+")
int3
((((((triple3) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
The cow is cold.
("cow" "is" "cold" "+")
int1
The cat needs the cow.
("cat" "needs" "cow" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
The cow is young.
True
5
proof
[(((((((((triple13) -> rule5)) -> rule4)) -> rule2)) -> rule5) OR ((((((((triple3) -> rule5)) -> rule4)) -> rule2)) -> rule5))]
("cow" "is" "young" "+")
((((((((triple13) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow is cold.
("cow" "is" "cold" "+")
int2
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int3
The rabbit is young.
("rabbit" "is" "young" "+")
int4
((((((((triple3) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow is cold.
("cow" "is" "cold" "+")
int2
The cat needs the cow.
("cat" "needs" "cow" "+")
int3
The cat is young.
("cat" "is" "young" "+")
int4
The cow is not young.
False
5
inv-proof
[(((((((((triple13) -> rule5)) -> rule4)) -> rule2)) -> rule5) OR ((((((((triple3) -> rule5)) -> rule4)) -> rule2)) -> rule5))]
("cow" "is" "young" "-")
((((((((triple13) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow is cold.
("cow" "is" "cold" "+")
int2
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int3
The rabbit is young.
("rabbit" "is" "young" "+")
int4
((((((((triple3) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow is cold.
("cow" "is" "cold" "+")
int2
The cat needs the cow.
("cat" "needs" "cow" "+")
int3
The cat is young.
("cat" "is" "young" "+")
int4
The cow needs the cow.
True
6
proof
[(((((((((((triple13) -> rule5)) -> rule4)) -> rule2)) -> rule5)) -> rule4) OR ((((((((((triple3) -> rule5)) -> rule4)) -> rule2)) -> rule5)) -> rule4))]
("cow" "needs" "cow" "+")
((((((((((triple13) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow is young.
("cow" "is" "young" "+")
int2
The cow is cold.
("cow" "is" "cold" "+")
int3
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int4
The rabbit is young.
("rabbit" "is" "young" "+")
int5
((((((((((triple3) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow is young.
("cow" "is" "young" "+")
int2
The cow is cold.
("cow" "is" "cold" "+")
int3
The cat needs the cow.
("cat" "needs" "cow" "+")
int4
The cat is young.
("cat" "is" "young" "+")
int5
The cow does not need the cow.
False
6
inv-proof
[(((((((((((triple13) -> rule5)) -> rule4)) -> rule2)) -> rule5)) -> rule4) OR ((((((((((triple3) -> rule5)) -> rule4)) -> rule2)) -> rule5)) -> rule4))]
("cow" "needs" "cow" "-")
((((((((((triple13) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow is young.
("cow" "is" "young" "+")
int2
The cow is cold.
("cow" "is" "cold" "+")
int3
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int4
The rabbit is young.
("rabbit" "is" "young" "+")
int5
((((((((((triple3) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow is young.
("cow" "is" "young" "+")
int2
The cow is cold.
("cow" "is" "cold" "+")
int3
The cat needs the cow.
("cat" "needs" "cow" "+")
int4
The cat is young.
("cat" "is" "young" "+")
int5
The cat does not chase the cow.
Unknown
inv-rconc
[@1: The cat chases the cow.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("cat" "chases" "cow" "-")
The dog chases the cow.
Unknown
rconc
[@1: The dog chases the cow.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("dog" "chases" "cow" "+")
The dog does not need the cow.
Unknown
inv-rconc
[@1: The dog needs the cow.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("dog" "needs" "cow" "-")
The cat is rough.
Unknown
random
[@0: The cat is rough.[CWA. Example of deepest failure = (FAIL)]]
("cat" "is" "rough" "+")
The cat is not nice.
Unknown
inv-random
[@0: The cat is nice.[CWA. Example of deepest failure = (FAIL)]]
("cat" "is" "nice" "-")
The dog chases the cat.
Unknown
random
[@0: The dog chases the cat.[CWA. Example of deepest failure = (FAIL)]]
("dog" "chases" "cat" "+")
The dog is not nice.
Unknown
inv-random
[@0: The dog is nice.[CWA. Example of deepest failure = (FAIL)]]
("dog" "is" "nice" "-")
The cow is rough.
Unknown
random
[@0: The cow is rough.[CWA. Example of deepest failure = (FAIL)]]
("cow" "is" "rough" "+")
The rabbit does not chase the cat.
Unknown
inv-random
[@0: The rabbit chases the cat.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "chases" "cat" "-")
The rabbit chases the cow.
Unknown
random
[@0: The rabbit chases the cow.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "chases" "cow" "+")
The rabbit does not see the rabbit.
Unknown
inv-random
[@0: The rabbit sees the rabbit.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "sees" "rabbit" "-")
The rabbit is nice.
Unknown
random
[@0: The rabbit is nice.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "is" "nice" "+")
@0: The cat chases the dog.[(triple1)] The cat chases the rabbit.[(triple2)] The cat is cold.[(triple3)] The cat is round.[(triple4)] The cat needs the rabbit.[(triple5)] The cat sees the rabbit.[(triple6)] The cow chases the cat.[(triple7)] The cow does not chase the rabbit.[(triple8)] The cow does not need the dog.[(triple9)] The cow needs the rabbit.[(triple10)] The dog is not young.[(triple11)] The rabbit chases the dog.[(triple12)] The rabbit is cold.[(triple13)] The rabbit is round.[(triple14)] The rabbit needs the cat.[(triple15)] The rabbit sees the cat.[(triple16)] @1: The cat is young.[(((triple3) -> rule5))] The rabbit is young.[(((triple13) -> rule5))] @2: The cat needs the cow.[(((((triple3) -> rule5)) -> rule4))] The rabbit needs the cow.[(((((triple13) -> rule5)) -> rule4))] @3: The cow is cold.[(((((((triple13) -> rule5)) -> rule4)) -> rule2) OR ((((((triple3) -> rule5)) -> rule4)) -> rule2))] @4: The cow is young.[(((((((((triple13) -> rule5)) -> rule4)) -> rule2)) -> rule5) OR ((((((((triple3) -> rule5)) -> rule4)) -> rule2)) -> rule5))] @5: The cow needs the cow.[(((((((((((triple13) -> rule5)) -> rule4)) -> rule2)) -> rule5)) -> rule4) OR ((((((((((triple3) -> rule5)) -> rule4)) -> rule2)) -> rule5)) -> rule4))]
The cat chases the dog.
("cat" "chases" "dog" "+")
triple1
The cat chases the rabbit.
("cat" "chases" "rabbit" "+")
triple2
The cat is cold.
("cat" "is" "cold" "+")
triple3
The cat is round.
("cat" "is" "round" "+")
triple4
The cat needs the rabbit.
("cat" "needs" "rabbit" "+")
triple5
The cat sees the rabbit.
("cat" "sees" "rabbit" "+")
triple6
The cow chases the cat.
("cow" "chases" "cat" "+")
triple7
The cow does not chase the rabbit.
("cow" "chases" "rabbit" "-")
triple8
The cow does not need the dog.
("cow" "needs" "dog" "-")
triple9
The cow needs the rabbit.
("cow" "needs" "rabbit" "+")
triple10
The dog is not young.
("dog" "is" "young" "-")
triple11
The rabbit chases the dog.
("rabbit" "chases" "dog" "+")
triple12
The rabbit is cold.
("rabbit" "is" "cold" "+")
triple13
The rabbit is round.
("rabbit" "is" "round" "+")
triple14
The rabbit needs the cat.
("rabbit" "needs" "cat" "+")
triple15
The rabbit sees the cat.
("rabbit" "sees" "cat" "+")
triple16
The cat is young.
("cat" "is" "young" "+")
((triple3) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The rabbit is young.
("rabbit" "is" "young" "+")
((triple13) -> (rule5 % int1))
The rabbit is young.
("rabbit" "is" "young" "+")
int1
The cat needs the cow.
("cat" "needs" "cow" "+")
((((triple3) -> (rule5 % int2))) -> (rule4 % int1))
The cat needs the cow.
("cat" "needs" "cow" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
((((triple13) -> (rule5 % int2))) -> (rule4 % int1))
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int1
The rabbit is young.
("rabbit" "is" "young" "+")
int2
The cow is cold.
("cow" "is" "cold" "+")
((((((triple13) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
The cow is cold.
("cow" "is" "cold" "+")
int1
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int2
The rabbit is young.
("rabbit" "is" "young" "+")
int3
((((((triple3) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
The cow is cold.
("cow" "is" "cold" "+")
int1
The cat needs the cow.
("cat" "needs" "cow" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
The cow is young.
("cow" "is" "young" "+")
((((((((triple13) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow is cold.
("cow" "is" "cold" "+")
int2
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int3
The rabbit is young.
("rabbit" "is" "young" "+")
int4
((((((((triple3) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
The cow is young.
("cow" "is" "young" "+")
int1
The cow is cold.
("cow" "is" "cold" "+")
int2
The cat needs the cow.
("cat" "needs" "cow" "+")
int3
The cat is young.
("cat" "is" "young" "+")
int4
The cow needs the cow.
("cow" "needs" "cow" "+")
((((((((((triple13) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow is young.
("cow" "is" "young" "+")
int2
The cow is cold.
("cow" "is" "cold" "+")
int3
The rabbit needs the cow.
("rabbit" "needs" "cow" "+")
int4
The rabbit is young.
("rabbit" "is" "young" "+")
int5
((((((((((triple3) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
The cow needs the cow.
("cow" "needs" "cow" "+")
int1
The cow is young.
("cow" "is" "young" "+")
int2
The cow is cold.
("cow" "is" "cold" "+")
int3
The cat needs the cow.
("cat" "needs" "cow" "+")
int4
The cat is young.
("cat" "is" "young" "+")
int5