The cow is young. The cow likes the mouse. The cow sees the mouse. The lion is rough. The lion likes the cow. The lion likes the mouse. The lion sees the cow. The lion sees the mouse. The lion visits the mouse. The mouse is rough. The mouse sees the cow. The mouse visits the lion. If someone sees the lion then they like the lion. If someone visits the cow and the cow likes the lion then the cow is red. If the cow does not visit the lion then the cow is red. If someone is young and they see the lion then the lion is rough. If someone sees the cow then the cow sees the lion. If the lion is rough then the lion visits the cow. If the mouse is rough then the mouse likes the cow. If someone is young and they visit the lion then they see the mouse.
The cow is young.
("cow" "is" "young" "+")
The cow likes the mouse.
("cow" "likes" "mouse" "+")
The cow sees the mouse.
("cow" "sees" "mouse" "+")
The lion is rough.
("lion" "is" "rough" "+")
The lion likes the cow.
("lion" "likes" "cow" "+")
The lion likes the mouse.
("lion" "likes" "mouse" "+")
The lion sees the cow.
("lion" "sees" "cow" "+")
The lion sees the mouse.
("lion" "sees" "mouse" "+")
The lion visits the mouse.
("lion" "visits" "mouse" "+")
The mouse is rough.
("mouse" "is" "rough" "+")
The mouse sees the cow.
("mouse" "sees" "cow" "+")
The mouse visits the lion.
("mouse" "visits" "lion" "+")
If someone sees the lion then they like the lion.
((("someone" "sees" "lion" "+")) -> ("someone" "likes" "lion" "+"))
If someone visits the cow and the cow likes the lion then the cow is red.
((("someone" "visits" "cow" "+") ("cow" "likes" "lion" "+")) -> ("cow" "is" "red" "+"))
If the cow does not visit the lion then the cow is red.
((("cow" "visits" "lion" "~")) -> ("cow" "is" "red" "+"))
If someone is young and they see the lion then the lion is rough.
((("someone" "is" "young" "+") ("someone" "sees" "lion" "+")) -> ("lion" "is" "rough" "+"))
If someone sees the cow then the cow sees the lion.
((("someone" "sees" "cow" "+")) -> ("cow" "sees" "lion" "+"))
If the lion is rough then the lion visits the cow.
((("lion" "is" "rough" "+")) -> ("lion" "visits" "cow" "+"))
If the mouse is rough then the mouse likes the cow.
((("mouse" "is" "rough" "+")) -> ("mouse" "likes" "cow" "+"))
If someone is young and they visit the lion then they see the mouse.
((("someone" "is" "young" "+") ("someone" "visits" "lion" "+")) -> ("someone" "sees" "mouse" "+"))
The lion is rough.
True
1
proof
[(triple4 OR ((triple1 ((triple11) -> rule5)) -> rule4) OR ((triple1 ((triple7) -> rule5)) -> rule4))]
("lion" "is" "rough" "+")
triple4
((triple1 ((triple11) -> (rule5 % int2))) -> (rule4 % int1))
The lion is rough.
("lion" "is" "rough" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
((triple1 ((triple7) -> (rule5 % int2))) -> (rule4 % int1))
The lion is rough.
("lion" "is" "rough" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
The cow is not young.
False
1
inv-proof
[(triple1)]
("cow" "is" "young" "-")
triple1
The cow sees the lion.
True
2
proof
[(((triple11) -> rule5) OR ((triple7) -> rule5))]
("cow" "sees" "lion" "+")
((triple11) -> (rule5 % int1))
The cow sees the lion.
("cow" "sees" "lion" "+")
int1
((triple7) -> (rule5 % int1))
The cow sees the lion.
("cow" "sees" "lion" "+")
int1
The cow does not see the lion.
False
2
inv-proof
[(((triple11) -> rule5) OR ((triple7) -> rule5))]
("cow" "sees" "lion" "-")
((triple11) -> (rule5 % int1))
The cow sees the lion.
("cow" "sees" "lion" "+")
int1
((triple7) -> (rule5 % int1))
The cow sees the lion.
("cow" "sees" "lion" "+")
int1
The cow likes the lion.
True
3
proof
[(((((triple11) -> rule5)) -> rule1) OR ((((triple7) -> rule5)) -> rule1))]
("cow" "likes" "lion" "+")
((((triple11) -> (rule5 % int2))) -> (rule1 % int1))
The cow likes the lion.
("cow" "likes" "lion" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
((((triple7) -> (rule5 % int2))) -> (rule1 % int1))
The cow likes the lion.
("cow" "likes" "lion" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
The cow does not like the lion.
False
3
inv-proof
[(((((triple11) -> rule5)) -> rule1) OR ((((triple7) -> rule5)) -> rule1))]
("cow" "likes" "lion" "-")
((((triple11) -> (rule5 % int2))) -> (rule1 % int1))
The cow likes the lion.
("cow" "likes" "lion" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
((((triple7) -> (rule5 % int2))) -> (rule1 % int1))
The cow likes the lion.
("cow" "likes" "lion" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
The cow is red.
True
6
proof
[(((((triple4) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((triple4) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple11) -> rule5)) -> rule4)) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple11) -> rule5)) -> rule4)) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple7) -> rule5)) -> rule4)) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple7) -> rule5)) -> rule4)) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2))]
("cow" "is" "red" "+")
((((triple4) -> (rule6 % int4)) ((((triple11) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The cow sees the lion.
("cow" "sees" "lion" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
((((triple4) -> (rule6 % int4)) ((((triple7) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The cow sees the lion.
("cow" "sees" "lion" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
((((((triple1 ((triple11) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple11) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple11) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple7) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple7) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple11) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple7) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple7) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
The cow is not red.
False
6
inv-proof
[(((((triple4) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((triple4) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple11) -> rule5)) -> rule4)) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple11) -> rule5)) -> rule4)) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple7) -> rule5)) -> rule4)) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple7) -> rule5)) -> rule4)) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2))]
("cow" "is" "red" "-")
((((triple4) -> (rule6 % int4)) ((((triple11) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The cow sees the lion.
("cow" "sees" "lion" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
((((triple4) -> (rule6 % int4)) ((((triple7) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The cow sees the lion.
("cow" "sees" "lion" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
((((((triple1 ((triple11) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple11) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple11) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple7) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple7) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple11) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple7) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple7) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
The mouse does not see the mouse.
Unknown
inv-rconc
[@1: The mouse sees the mouse.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("mouse" "sees" "mouse" "-")
The mouse likes the lion.
Unknown
rconc
[@1: The mouse likes the lion.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("mouse" "likes" "lion" "+")
The lion does not like the lion.
Unknown
inv-rconc
[@1: The lion likes the lion.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("lion" "likes" "lion" "-")
The lion is blue.
Unknown
random
[@0: The lion is blue.[CWA. Example of deepest failure = (FAIL)]]
("lion" "is" "blue" "+")
The cow is not blue.
Unknown
inv-random
[@0: The cow is blue.[CWA. Example of deepest failure = (FAIL)]]
("cow" "is" "blue" "-")
The lion is young.
Unknown
random
[@0: The lion is young.[CWA. Example of deepest failure = (FAIL)]]
("lion" "is" "young" "+")
The cow is not rough.
Unknown
inv-random
[@0: The cow is rough.[CWA. Example of deepest failure = (FAIL)]]
("cow" "is" "rough" "-")
The mouse is blue.
Unknown
random
[@0: The mouse is blue.[CWA. Example of deepest failure = (FAIL)]]
("mouse" "is" "blue" "+")
@0: The cow is young.[(triple1)] The cow likes the mouse.[(triple2)] The cow sees the mouse.[(triple3)] The lion is rough.[(triple4 OR ((triple1 ((triple11) -> rule5)) -> rule4) OR ((triple1 ((triple7) -> rule5)) -> rule4))] The lion likes the cow.[(triple5)] The lion likes the mouse.[(triple6)] The lion sees the cow.[(triple7)] The lion sees the mouse.[(triple8)] The lion visits the mouse.[(triple9)] The mouse is rough.[(triple10)] The mouse sees the cow.[(triple11)] The mouse visits the lion.[(triple12)] @1: The cow sees the lion.[(((triple11) -> rule5) OR ((triple7) -> rule5))] The lion visits the cow.[(((triple4) -> rule6) OR ((((triple1 ((triple11) -> rule5)) -> rule4)) -> rule6) OR ((((triple1 ((triple7) -> rule5)) -> rule4)) -> rule6))] The mouse likes the cow.[(((triple10) -> rule7))] @2: The cow likes the lion.[(((((triple11) -> rule5)) -> rule1) OR ((((triple7) -> rule5)) -> rule1))] @3: The cow is red.[(((((triple4) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((triple4) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple11) -> rule5)) -> rule4)) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple11) -> rule5)) -> rule4)) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple7) -> rule5)) -> rule4)) -> rule6) ((((triple11) -> rule5)) -> rule1)) -> rule2) OR ((((((triple1 ((triple7) -> rule5)) -> rule4)) -> rule6) ((((triple7) -> rule5)) -> rule1)) -> rule2))]
The cow is young.
("cow" "is" "young" "+")
triple1
The cow likes the mouse.
("cow" "likes" "mouse" "+")
triple2
The cow sees the mouse.
("cow" "sees" "mouse" "+")
triple3
The lion is rough.
("lion" "is" "rough" "+")
triple4
((triple1 ((triple11) -> (rule5 % int2))) -> (rule4 % int1))
The lion is rough.
("lion" "is" "rough" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
((triple1 ((triple7) -> (rule5 % int2))) -> (rule4 % int1))
The lion is rough.
("lion" "is" "rough" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
The lion likes the cow.
("lion" "likes" "cow" "+")
triple5
The lion likes the mouse.
("lion" "likes" "mouse" "+")
triple6
The lion sees the cow.
("lion" "sees" "cow" "+")
triple7
The lion sees the mouse.
("lion" "sees" "mouse" "+")
triple8
The lion visits the mouse.
("lion" "visits" "mouse" "+")
triple9
The mouse is rough.
("mouse" "is" "rough" "+")
triple10
The mouse sees the cow.
("mouse" "sees" "cow" "+")
triple11
The mouse visits the lion.
("mouse" "visits" "lion" "+")
triple12
The cow sees the lion.
("cow" "sees" "lion" "+")
((triple11) -> (rule5 % int1))
The cow sees the lion.
("cow" "sees" "lion" "+")
int1
((triple7) -> (rule5 % int1))
The cow sees the lion.
("cow" "sees" "lion" "+")
int1
The lion visits the cow.
("lion" "visits" "cow" "+")
((triple4) -> (rule6 % int1))
The lion visits the cow.
("lion" "visits" "cow" "+")
int1
((((triple1 ((triple11) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The lion visits the cow.
("lion" "visits" "cow" "+")
int1
The lion is rough.
("lion" "is" "rough" "+")
int2
The cow sees the lion.
("cow" "sees" "lion" "+")
int3
((((triple1 ((triple7) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
The lion visits the cow.
("lion" "visits" "cow" "+")
int1
The lion is rough.
("lion" "is" "rough" "+")
int2
The cow sees the lion.
("cow" "sees" "lion" "+")
int3
The mouse likes the cow.
("mouse" "likes" "cow" "+")
((triple10) -> (rule7 % int1))
The mouse likes the cow.
("mouse" "likes" "cow" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
((((triple11) -> (rule5 % int2))) -> (rule1 % int1))
The cow likes the lion.
("cow" "likes" "lion" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
((((triple7) -> (rule5 % int2))) -> (rule1 % int1))
The cow likes the lion.
("cow" "likes" "lion" "+")
int1
The cow sees the lion.
("cow" "sees" "lion" "+")
int2
The cow is red.
("cow" "is" "red" "+")
((((triple4) -> (rule6 % int4)) ((((triple11) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The cow sees the lion.
("cow" "sees" "lion" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
((((triple4) -> (rule6 % int4)) ((((triple7) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The cow sees the lion.
("cow" "sees" "lion" "+")
int3
The lion visits the cow.
("lion" "visits" "cow" "+")
int4
((((((triple1 ((triple11) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple11) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple11) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple7) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple7) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple11) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5
((((((triple1 ((triple7) -> (rule5 % int5))) -> (rule4 % int4))) -> (rule6 % int3)) ((((triple7) -> (rule5 % int5))) -> (rule1 % int2))) -> (rule2 % int1))
The cow is red.
("cow" "is" "red" "+")
int1
The cow likes the lion.
("cow" "likes" "lion" "+")
int2
The lion visits the cow.
("lion" "visits" "cow" "+")
int3
The lion is rough.
("lion" "is" "rough" "+")
int4
The cow sees the lion.
("cow" "sees" "lion" "+")
int5