The cat chases the rabbit. The cat is rough. The rabbit chases the cat. The rabbit is young. The squirrel chases the cat. The squirrel is round. The squirrel visits the cat. Round, young people are big. If someone visits the cat and they visit the rabbit then they need the squirrel. If the squirrel is young then the squirrel is rough. If someone needs the rabbit then they chase the cat. If someone needs the cat then they are big. If someone is young and big then they need the rabbit. If someone chases the rabbit then the rabbit is round. If someone is rough and they need the squirrel then the squirrel needs the cat.
The cat chases the rabbit.
("cat" "chases" "rabbit" "+")
The cat is rough.
("cat" "is" "rough" "+")
The rabbit chases the cat.
("rabbit" "chases" "cat" "+")
The rabbit is young.
("rabbit" "is" "young" "+")
The squirrel chases the cat.
("squirrel" "chases" "cat" "+")
The squirrel is round.
("squirrel" "is" "round" "+")
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
Round, young people are big.
((("someone" "is" "round" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "big" "+"))
If someone visits the cat and they visit the rabbit then they need the squirrel.
((("someone" "visits" "cat" "+") ("someone" "visits" "rabbit" "+")) -> ("someone" "needs" "squirrel" "+"))
If the squirrel is young then the squirrel is rough.
((("squirrel" "is" "young" "+")) -> ("squirrel" "is" "rough" "+"))
If someone needs the rabbit then they chase the cat.
((("someone" "needs" "rabbit" "+")) -> ("someone" "chases" "cat" "+"))
If someone needs the cat then they are big.
((("someone" "needs" "cat" "+")) -> ("someone" "is" "big" "+"))
If someone is young and big then they need the rabbit.
((("someone" "is" "young" "+") ("someone" "is" "big" "+")) -> ("someone" "needs" "rabbit" "+"))
If someone chases the rabbit then the rabbit is round.
((("someone" "chases" "rabbit" "+")) -> ("rabbit" "is" "round" "+"))
If someone is rough and they need the squirrel then the squirrel needs the cat.
((("someone" "is" "rough" "+") ("someone" "needs" "squirrel" "+")) -> ("squirrel" "needs" "cat" "+"))
The squirrel chases the cat.
True
1
proof
[(triple5)]
("squirrel" "chases" "cat" "+")
triple5
The rabbit is not young.
False
1
inv-proof
[(triple4)]
("rabbit" "is" "young" "-")
triple4
The rabbit is round.
True
2
proof
[(((triple1) -> rule7))]
("rabbit" "is" "round" "+")
((triple1) -> (rule7 % int1))
The rabbit is round.
("rabbit" "is" "round" "+")
int1
The rabbit is not round.
False
2
inv-proof
[(((triple1) -> rule7))]
("rabbit" "is" "round" "-")
((triple1) -> (rule7 % int1))
The rabbit is round.
("rabbit" "is" "round" "+")
int1
The rabbit is big.
True
4
proof
[(((((triple1) -> rule7) triple4) -> rule1))]
("rabbit" "is" "big" "+")
((((triple1) -> (rule7 % int2)) triple4) -> (rule1 % int1))
The rabbit is big.
("rabbit" "is" "big" "+")
int1
The rabbit is round.
("rabbit" "is" "round" "+")
int2
The rabbit is not big.
False
4
inv-proof
[(((((triple1) -> rule7) triple4) -> rule1))]
("rabbit" "is" "big" "-")
((((triple1) -> (rule7 % int2)) triple4) -> (rule1 % int1))
The rabbit is big.
("rabbit" "is" "big" "+")
int1
The rabbit is round.
("rabbit" "is" "round" "+")
int2
The rabbit needs the rabbit.
True
6
proof
[(((triple4 ((((triple1) -> rule7) triple4) -> rule1)) -> rule6))]
("rabbit" "needs" "rabbit" "+")
((triple4 ((((triple1) -> (rule7 % int3)) triple4) -> (rule1 % int2))) -> (rule6 % int1))
The rabbit needs the rabbit.
("rabbit" "needs" "rabbit" "+")
int1
The rabbit is big.
("rabbit" "is" "big" "+")
int2
The rabbit is round.
("rabbit" "is" "round" "+")
int3
The rabbit does not need the rabbit.
False
6
inv-proof
[(((triple4 ((((triple1) -> rule7) triple4) -> rule1)) -> rule6))]
("rabbit" "needs" "rabbit" "-")
((triple4 ((((triple1) -> (rule7 % int3)) triple4) -> (rule1 % int2))) -> (rule6 % int1))
The rabbit needs the rabbit.
("rabbit" "needs" "rabbit" "+")
int1
The rabbit is big.
("rabbit" "is" "big" "+")
int2
The rabbit is round.
("rabbit" "is" "round" "+")
int3
The squirrel does not need the rabbit.
Unknown
inv-rconc
[@1: The squirrel needs the rabbit.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("squirrel" "needs" "rabbit" "-")
The cat needs the squirrel.
Unknown
rconc
[@1: The cat needs the squirrel.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("cat" "needs" "squirrel" "+")
The cat does not need the rabbit.
Unknown
inv-rconc
[@1: The cat needs the rabbit.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("cat" "needs" "rabbit" "-")
The squirrel is big.
Unknown
rconc
[@3: The squirrel is big.[CWA. Example of deepest failure = (rule5 <- rule8 <- rule2 <- FAIL)]]
("squirrel" "is" "big" "+")
The cat does not chase the squirrel.
Unknown
inv-random
[@0: The cat chases the squirrel.[CWA. Example of deepest failure = (FAIL)]]
("cat" "chases" "squirrel" "-")
The cat visits the squirrel.
Unknown
random
[@0: The cat visits the squirrel.[CWA. Example of deepest failure = (FAIL)]]
("cat" "visits" "squirrel" "+")
The rabbit is not red.
Unknown
inv-random
[@0: The rabbit is red.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "is" "red" "-")
The rabbit visits the squirrel.
Unknown
random
[@0: The rabbit visits the squirrel.[CWA. Example of deepest failure = (FAIL)]]
("rabbit" "visits" "squirrel" "+")
@0: The cat chases the rabbit.[(triple1)] The cat is rough.[(triple2)] The rabbit chases the cat.[(triple3 OR ((((triple4 ((((triple1) -> rule7) triple4) -> rule1)) -> rule6)) -> rule4))] The rabbit is young.[(triple4)] The squirrel chases the cat.[(triple5)] The squirrel is round.[(triple6)] The squirrel visits the cat.[(triple7)] @1: The rabbit is round.[(((triple1) -> rule7))] @2: The rabbit is big.[(((((triple1) -> rule7) triple4) -> rule1))] @3: The rabbit needs the rabbit.[(((triple4 ((((triple1) -> rule7) triple4) -> rule1)) -> rule6))]
The cat chases the rabbit.
("cat" "chases" "rabbit" "+")
triple1
The cat is rough.
("cat" "is" "rough" "+")
triple2
The rabbit chases the cat.
("rabbit" "chases" "cat" "+")
triple3
((((triple4 ((((triple1) -> (rule7 % int4)) triple4) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
The rabbit chases the cat.
("rabbit" "chases" "cat" "+")
int1
The rabbit needs the rabbit.
("rabbit" "needs" "rabbit" "+")
int2
The rabbit is big.
("rabbit" "is" "big" "+")
int3
The rabbit is round.
("rabbit" "is" "round" "+")
int4
The rabbit is young.
("rabbit" "is" "young" "+")
triple4
The squirrel chases the cat.
("squirrel" "chases" "cat" "+")
triple5
The squirrel is round.
("squirrel" "is" "round" "+")
triple6
The squirrel visits the cat.
("squirrel" "visits" "cat" "+")
triple7
The rabbit is round.
("rabbit" "is" "round" "+")
((triple1) -> (rule7 % int1))
The rabbit is round.
("rabbit" "is" "round" "+")
int1
The rabbit is big.
("rabbit" "is" "big" "+")
((((triple1) -> (rule7 % int2)) triple4) -> (rule1 % int1))
The rabbit is big.
("rabbit" "is" "big" "+")
int1
The rabbit is round.
("rabbit" "is" "round" "+")
int2
The rabbit needs the rabbit.
("rabbit" "needs" "rabbit" "+")
((triple4 ((((triple1) -> (rule7 % int3)) triple4) -> (rule1 % int2))) -> (rule6 % int1))
The rabbit needs the rabbit.
("rabbit" "needs" "rabbit" "+")
int1
The rabbit is big.
("rabbit" "is" "big" "+")
int2
The rabbit is round.
("rabbit" "is" "round" "+")
int3