The cat is big. The cat is green. The cat is young. The cat visits the cow. The cow chases the cat. The cow is big. The cow is kind. The cow is rough. The cow sees the cat. The cow visits the cat. If someone is young then they see the cat. If someone chases the cat and the cat chases the cow then they visit the cat. If someone chases the cat then they chase the cow. If someone is green and they visit the cat then the cat sees the cow. If the cat chases the cow and the cat visits the cow then the cat is rough. If someone sees the cat then they chase the cat. If the cat chases the cow and the cow chases the cat then the cat visits the cow. If the cat is green and the cat sees the cow then the cat visits the cow.
The cat is big.
("cat" "is" "big" "+")
The cat is green.
("cat" "is" "green" "+")
The cat is young.
("cat" "is" "young" "+")
The cat visits the cow.
("cat" "visits" "cow" "+")
The cow chases the cat.
("cow" "chases" "cat" "+")
The cow is big.
("cow" "is" "big" "+")
The cow is kind.
("cow" "is" "kind" "+")
The cow is rough.
("cow" "is" "rough" "+")
The cow sees the cat.
("cow" "sees" "cat" "+")
The cow visits the cat.
("cow" "visits" "cat" "+")
If someone is young then they see the cat.
((("someone" "is" "young" "+")) -> ("someone" "sees" "cat" "+"))
If someone chases the cat and the cat chases the cow then they visit the cat.
((("someone" "chases" "cat" "+") ("cat" "chases" "cow" "+")) -> ("someone" "visits" "cat" "+"))
If someone chases the cat then they chase the cow.
((("someone" "chases" "cat" "+")) -> ("someone" "chases" "cow" "+"))
If someone is green and they visit the cat then the cat sees the cow.
((("someone" "is" "green" "+") ("someone" "visits" "cat" "+")) -> ("cat" "sees" "cow" "+"))
If the cat chases the cow and the cat visits the cow then the cat is rough.
((("cat" "chases" "cow" "+") ("cat" "visits" "cow" "+")) -> ("cat" "is" "rough" "+"))
If someone sees the cat then they chase the cat.
((("someone" "sees" "cat" "+")) -> ("someone" "chases" "cat" "+"))
If the cat chases the cow and the cow chases the cat then the cat visits the cow.
((("cat" "chases" "cow" "+") ("cow" "chases" "cat" "+")) -> ("cat" "visits" "cow" "+"))
If the cat is green and the cat sees the cow then the cat visits the cow.
((("cat" "is" "green" "+") ("cat" "sees" "cow" "+")) -> ("cat" "visits" "cow" "+"))
The cat is green.
True
1
proof
[(triple2)]
("cat" "is" "green" "+")
triple2
The cat does not visit the cow.
False
1
inv-proof
[(triple4 OR ((((((((triple3) -> rule1)) -> rule6)) -> rule3) triple5) -> rule7) OR ((((((((triple3) -> rule1)) -> rule6)) -> rule3) ((triple9) -> rule6)) -> rule7) OR ((triple2 ((triple2 ((((((triple3) -> rule1)) -> rule6) ((((((triple3) -> rule1)) -> rule6)) -> rule3)) -> rule2)) -> rule4)) -> rule8))]
("cat" "visits" "cow" "-")
triple4
((((((((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule3 % int2)) triple5) -> (rule7 % int1))
The cat visits the cow.
("cat" "visits" "cow" "+")
int1
The cat chases the cow.
("cat" "chases" "cow" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat sees the cat.
("cat" "sees" "cat" "+")
int4
((((((((triple3) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((triple9) -> (rule6 % int2))) -> (rule7 % int1))
The cat visits the cow.
("cat" "visits" "cow" "+")
int1
The cow chases the cat.
("cow" "chases" "cat" "+")
int2
The cat chases the cow.
("cat" "chases" "cow" "+")
int3
The cat chases the cat.
("cat" "chases" "cat" "+")
int4
The cat sees the cat.
("cat" "sees" "cat" "+")
int5
((triple2 ((triple2 ((((((triple3) -> (rule1 % int6))) -> (rule6 % int5)) ((((((triple3) -> (rule1 % int6))) -> (rule6 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
The cat visits the cow.
("cat" "visits" "cow" "+")
int1
The cat sees the cow.
("cat" "sees" "cow" "+")
int2
The cat visits the cat.
("cat" "visits" "cat" "+")
int3
The cat chases the cow.
("cat" "chases" "cow" "+")
int4
The cat chases the cat.
("cat" "chases" "cat" "+")
int5
The cat sees the cat.
("cat" "sees" "cat" "+")
int6
The cat sees the cat.
True
2
proof
[(((triple3) -> rule1))]
("cat" "sees" "cat" "+")
((triple3) -> (rule1 % int1))
The cat sees the cat.
("cat" "sees" "cat" "+")
int1
The cow does not chase the cow.
False
2
inv-proof
[(((triple5) -> rule3) OR ((((triple9) -> rule6)) -> rule3))]
("cow" "chases" "cow" "-")
((triple5) -> (rule3 % int1))
The cow chases the cow.
("cow" "chases" "cow" "+")
int1
((((triple9) -> (rule6 % int2))) -> (rule3 % int1))
The cow chases the cow.
("cow" "chases" "cow" "+")
int1
The cow chases the cat.
("cow" "chases" "cat" "+")
int2
The cat chases the cat.
True
3
proof
[(((((triple3) -> rule1)) -> rule6))]
("cat" "chases" "cat" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
The cat chases the cat.
("cat" "chases" "cat" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
The cat does not chase the cat.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule6))]
("cat" "chases" "cat" "-")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
The cat chases the cat.
("cat" "chases" "cat" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
The cat chases the cow.
True
4
proof
[(((((((triple3) -> rule1)) -> rule6)) -> rule3))]
("cat" "chases" "cow" "+")
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
The cat chases the cow.
("cat" "chases" "cow" "+")
int1
The cat chases the cat.
("cat" "chases" "cat" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
The cat does not chase the cow.
False
4
inv-proof
[(((((((triple3) -> rule1)) -> rule6)) -> rule3))]
("cat" "chases" "cow" "-")
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
The cat chases the cow.
("cat" "chases" "cow" "+")
int1
The cat chases the cat.
("cat" "chases" "cat" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
The cow is not green.
Unknown
inv-random
[@0: The cow is green.[CWA. Example of deepest failure = (FAIL)]]
("cow" "is" "green" "-")
The cow sees the cow.
Unknown
random
[@0: The cow sees the cow.[CWA. Example of deepest failure = (FAIL)]]
("cow" "sees" "cow" "+")
The cow is not young.
Unknown
inv-random
[@0: The cow is young.[CWA. Example of deepest failure = (FAIL)]]
("cow" "is" "young" "-")
The cow visits the cow.
Unknown
random
[@0: The cow visits the cow.[CWA. Example of deepest failure = (FAIL)]]
("cow" "visits" "cow" "+")
@0: The cat is big.[(triple1)] The cat is green.[(triple2)] The cat is young.[(triple3)] The cat visits the cow.[(triple4 OR ((((((((triple3) -> rule1)) -> rule6)) -> rule3) triple5) -> rule7) OR ((((((((triple3) -> rule1)) -> rule6)) -> rule3) ((triple9) -> rule6)) -> rule7) OR ((triple2 ((triple2 ((((((triple3) -> rule1)) -> rule6) ((((((triple3) -> rule1)) -> rule6)) -> rule3)) -> rule2)) -> rule4)) -> rule8))] The cow chases the cat.[(triple5 OR ((triple9) -> rule6))] The cow is big.[(triple6)] The cow is kind.[(triple7)] The cow is rough.[(triple8)] The cow sees the cat.[(triple9)] The cow visits the cat.[(triple10 OR ((triple5 ((((((triple3) -> rule1)) -> rule6)) -> rule3)) -> rule2) OR ((((triple9) -> rule6) ((((((triple3) -> rule1)) -> rule6)) -> rule3)) -> rule2))] @1: The cat sees the cat.[(((triple3) -> rule1))] The cow chases the cow.[(((triple5) -> rule3) OR ((((triple9) -> rule6)) -> rule3))] @2: The cat chases the cat.[(((((triple3) -> rule1)) -> rule6))] @3: The cat chases the cow.[(((((((triple3) -> rule1)) -> rule6)) -> rule3))] @4: The cat is rough.[(((((((((triple3) -> rule1)) -> rule6)) -> rule3) triple4) -> rule5) OR ((((((((triple3) -> rule1)) -> rule6)) -> rule3) ((((((((triple3) -> rule1)) -> rule6)) -> rule3) triple5) -> rule7)) -> rule5) OR ((((((((triple3) -> rule1)) -> rule6)) -> rule3) ((((((((triple3) -> rule1)) -> rule6)) -> rule3) ((triple9) -> rule6)) -> rule7)) -> rule5) OR ((((((((triple3) -> rule1)) -> rule6)) -> rule3) ((triple2 ((triple2 ((((((triple3) -> rule1)) -> rule6) ((((((triple3) -> rule1)) -> rule6)) -> rule3)) -> rule2)) -> rule4)) -> rule8)) -> rule5))] The cat visits the cat.[(((((((triple3) -> rule1)) -> rule6) ((((((triple3) -> rule1)) -> rule6)) -> rule3)) -> rule2))] @5: The cat sees the cow.[(((triple2 ((((((triple3) -> rule1)) -> rule6) ((((((triple3) -> rule1)) -> rule6)) -> rule3)) -> rule2)) -> rule4))]
The cat is big.
("cat" "is" "big" "+")
triple1
The cat is green.
("cat" "is" "green" "+")
triple2
The cat is young.
("cat" "is" "young" "+")
triple3
The cat visits the cow.
("cat" "visits" "cow" "+")
triple4
((((((((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule3 % int2)) triple5) -> (rule7 % int1))
The cat visits the cow.
("cat" "visits" "cow" "+")
int1
The cat chases the cow.
("cat" "chases" "cow" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat sees the cat.
("cat" "sees" "cat" "+")
int4
((((((((triple3) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((triple9) -> (rule6 % int2))) -> (rule7 % int1))
The cat visits the cow.
("cat" "visits" "cow" "+")
int1
The cow chases the cat.
("cow" "chases" "cat" "+")
int2
The cat chases the cow.
("cat" "chases" "cow" "+")
int3
The cat chases the cat.
("cat" "chases" "cat" "+")
int4
The cat sees the cat.
("cat" "sees" "cat" "+")
int5
((triple2 ((triple2 ((((((triple3) -> (rule1 % int6))) -> (rule6 % int5)) ((((((triple3) -> (rule1 % int6))) -> (rule6 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
The cat visits the cow.
("cat" "visits" "cow" "+")
int1
The cat sees the cow.
("cat" "sees" "cow" "+")
int2
The cat visits the cat.
("cat" "visits" "cat" "+")
int3
The cat chases the cow.
("cat" "chases" "cow" "+")
int4
The cat chases the cat.
("cat" "chases" "cat" "+")
int5
The cat sees the cat.
("cat" "sees" "cat" "+")
int6
The cow chases the cat.
("cow" "chases" "cat" "+")
triple5
((triple9) -> (rule6 % int1))
The cow chases the cat.
("cow" "chases" "cat" "+")
int1
The cow is big.
("cow" "is" "big" "+")
triple6
The cow is kind.
("cow" "is" "kind" "+")
triple7
The cow is rough.
("cow" "is" "rough" "+")
triple8
The cow sees the cat.
("cow" "sees" "cat" "+")
triple9
The cow visits the cat.
("cow" "visits" "cat" "+")
triple10
((triple5 ((((((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cow visits the cat.
("cow" "visits" "cat" "+")
int1
The cat chases the cow.
("cat" "chases" "cow" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat sees the cat.
("cat" "sees" "cat" "+")
int4
((((triple9) -> (rule6 % int5)) ((((((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cow visits the cat.
("cow" "visits" "cat" "+")
int1
The cat chases the cow.
("cat" "chases" "cow" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat sees the cat.
("cat" "sees" "cat" "+")
int4
The cow chases the cat.
("cow" "chases" "cat" "+")
int5
The cat sees the cat.
("cat" "sees" "cat" "+")
((triple3) -> (rule1 % int1))
The cat sees the cat.
("cat" "sees" "cat" "+")
int1
The cow chases the cow.
("cow" "chases" "cow" "+")
((triple5) -> (rule3 % int1))
The cow chases the cow.
("cow" "chases" "cow" "+")
int1
((((triple9) -> (rule6 % int2))) -> (rule3 % int1))
The cow chases the cow.
("cow" "chases" "cow" "+")
int1
The cow chases the cat.
("cow" "chases" "cat" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
The cat chases the cat.
("cat" "chases" "cat" "+")
int1
The cat sees the cat.
("cat" "sees" "cat" "+")
int2
The cat chases the cow.
("cat" "chases" "cow" "+")
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
The cat chases the cow.
("cat" "chases" "cow" "+")
int1
The cat chases the cat.
("cat" "chases" "cat" "+")
int2
The cat sees the cat.
("cat" "sees" "cat" "+")
int3
The cat is rough.
("cat" "is" "rough" "+")
((((((((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule3 % int2)) triple4) -> (rule5 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat chases the cow.
("cat" "chases" "cow" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat sees the cat.
("cat" "sees" "cat" "+")
int4
((((((((triple3) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) ((((((((triple3) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule3 % int3)) triple5) -> (rule7 % int2))) -> (rule5 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat visits the cow.
("cat" "visits" "cow" "+")
int2
The cat chases the cow.
("cat" "chases" "cow" "+")
int3
The cat chases the cat.
("cat" "chases" "cat" "+")
int4
The cat sees the cat.
("cat" "sees" "cat" "+")
int5
((((((((triple3) -> (rule1 % int6))) -> (rule6 % int5))) -> (rule3 % int4)) ((((((((triple3) -> (rule1 % int6))) -> (rule6 % int5))) -> (rule3 % int4)) ((triple9) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat visits the cow.
("cat" "visits" "cow" "+")
int2
The cow chases the cat.
("cow" "chases" "cat" "+")
int3
The cat chases the cow.
("cat" "chases" "cow" "+")
int4
The cat chases the cat.
("cat" "chases" "cat" "+")
int5
The cat sees the cat.
("cat" "sees" "cat" "+")
int6
((((((((triple3) -> (rule1 % int7))) -> (rule6 % int6))) -> (rule3 % int5)) ((triple2 ((triple2 ((((((triple3) -> (rule1 % int7))) -> (rule6 % int6)) ((((((triple3) -> (rule1 % int7))) -> (rule6 % int6))) -> (rule3 % int5))) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
The cat is rough.
("cat" "is" "rough" "+")
int1
The cat visits the cow.
("cat" "visits" "cow" "+")
int2
The cat sees the cow.
("cat" "sees" "cow" "+")
int3
The cat visits the cat.
("cat" "visits" "cat" "+")
int4
The cat chases the cow.
("cat" "chases" "cow" "+")
int5
The cat chases the cat.
("cat" "chases" "cat" "+")
int6
The cat sees the cat.
("cat" "sees" "cat" "+")
int7
The cat visits the cat.
("cat" "visits" "cat" "+")
((((((triple3) -> (rule1 % int4))) -> (rule6 % int3)) ((((((triple3) -> (rule1 % int4))) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat visits the cat.
("cat" "visits" "cat" "+")
int1
The cat chases the cow.
("cat" "chases" "cow" "+")
int2
The cat chases the cat.
("cat" "chases" "cat" "+")
int3
The cat sees the cat.
("cat" "sees" "cat" "+")
int4
The cat sees the cow.
("cat" "sees" "cow" "+")
((triple2 ((((((triple3) -> (rule1 % int5))) -> (rule6 % int4)) ((((((triple3) -> (rule1 % int5))) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
The cat sees the cow.
("cat" "sees" "cow" "+")
int1
The cat visits the cat.
("cat" "visits" "cat" "+")
int2
The cat chases the cow.
("cat" "chases" "cow" "+")
int3
The cat chases the cat.
("cat" "chases" "cat" "+")
int4
The cat sees the cat.
("cat" "sees" "cat" "+")
int5