The dog eats the lion. The dog is blue. The dog is kind. The dog is rough. The dog needs the lion. The dog visits the lion. The lion eats the dog. The lion is blue. The lion is kind. The lion is round. The lion needs the dog. The lion visits the dog. If someone eats the dog then they need the lion. If someone needs the lion and they eat the lion then they are rough. If someone needs the dog then the dog is blue. If someone is kind and cold then they visit the dog. If someone visits the dog and they are blue then the dog eats the lion. If someone visits the dog then they eat the lion. If someone eats the dog then they need the dog. If the dog is blue and the dog visits the lion then the lion visits the dog.
The dog eats the lion.
("dog" "eats" "lion" "+")
The dog is blue.
("dog" "is" "blue" "+")
The dog is kind.
("dog" "is" "kind" "+")
The dog is rough.
("dog" "is" "rough" "+")
The dog needs the lion.
("dog" "needs" "lion" "+")
The dog visits the lion.
("dog" "visits" "lion" "+")
The lion eats the dog.
("lion" "eats" "dog" "+")
The lion is blue.
("lion" "is" "blue" "+")
The lion is kind.
("lion" "is" "kind" "+")
The lion is round.
("lion" "is" "round" "+")
The lion needs the dog.
("lion" "needs" "dog" "+")
The lion visits the dog.
("lion" "visits" "dog" "+")
If someone eats the dog then they need the lion.
((("someone" "eats" "dog" "+")) -> ("someone" "needs" "lion" "+"))
If someone needs the lion and they eat the lion then they are rough.
((("someone" "needs" "lion" "+") ("someone" "eats" "lion" "+")) -> ("someone" "is" "rough" "+"))
If someone needs the dog then the dog is blue.
((("someone" "needs" "dog" "+")) -> ("dog" "is" "blue" "+"))
If someone is kind and cold then they visit the dog.
((("someone" "is" "kind" "+") ("someone" "is" "cold" "+")) -> ("someone" "visits" "dog" "+"))
If someone visits the dog and they are blue then the dog eats the lion.
((("someone" "visits" "dog" "+") ("someone" "is" "blue" "+")) -> ("dog" "eats" "lion" "+"))
If someone visits the dog then they eat the lion.
((("someone" "visits" "dog" "+")) -> ("someone" "eats" "lion" "+"))
If someone eats the dog then they need the dog.
((("someone" "eats" "dog" "+")) -> ("someone" "needs" "dog" "+"))
If the dog is blue and the dog visits the lion then the lion visits the dog.
((("dog" "is" "blue" "+") ("dog" "visits" "lion" "+")) -> ("lion" "visits" "dog" "+"))
The dog eats the lion.
True
1
proof
[(triple1 OR ((triple12 triple8) -> rule5) OR ((((triple2 triple6) -> rule8) triple8) -> rule5) OR ((((((triple11) -> rule3) triple6) -> rule8) triple8) -> rule5) OR ((((((((triple7) -> rule7)) -> rule3) triple6) -> rule8) triple8) -> rule5))]
("dog" "eats" "lion" "+")
triple1
((triple12 triple8) -> (rule5 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
((((triple2 triple6) -> (rule8 % int2)) triple8) -> (rule5 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
((((((triple11) -> (rule3 % int3)) triple6) -> (rule8 % int2)) triple8) -> (rule5 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
((((((((triple7) -> (rule7 % int4))) -> (rule3 % int3)) triple6) -> (rule8 % int2)) triple8) -> (rule5 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
The lion needs the dog.
("lion" "needs" "dog" "+")
int4
The dog is not blue.
False
1
inv-proof
[(triple2 OR ((triple11) -> rule3) OR ((((triple7) -> rule7)) -> rule3))]
("dog" "is" "blue" "-")
triple2
((triple11) -> (rule3 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
((((triple7) -> (rule7 % int2))) -> (rule3 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The lion needs the dog.
("lion" "needs" "dog" "+")
int2
The lion eats the lion.
True
2
proof
[(((triple12) -> rule6) OR ((((triple2 triple6) -> rule8)) -> rule6) OR ((((((triple11) -> rule3) triple6) -> rule8)) -> rule6) OR ((((((((triple7) -> rule7)) -> rule3) triple6) -> rule8)) -> rule6))]
("lion" "eats" "lion" "+")
((triple12) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
((((triple2 triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
((((((triple11) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
((((((((triple7) -> (rule7 % int4))) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
The lion needs the dog.
("lion" "needs" "dog" "+")
int4
The lion does not eat the lion.
False
2
inv-proof
[(((triple12) -> rule6) OR ((((triple2 triple6) -> rule8)) -> rule6) OR ((((((triple11) -> rule3) triple6) -> rule8)) -> rule6) OR ((((((((triple7) -> rule7)) -> rule3) triple6) -> rule8)) -> rule6))]
("lion" "eats" "lion" "-")
((triple12) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
((((triple2 triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
((((((triple11) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
((((((((triple7) -> (rule7 % int4))) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
The lion needs the dog.
("lion" "needs" "dog" "+")
int4
The dog does not need the dog.
Unknown
inv-rconc
[@1: The dog needs the dog.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("dog" "needs" "dog" "-")
The dog visits the dog.
Unknown
rconc
[@1: The dog visits the dog.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("dog" "visits" "dog" "+")
The dog is not cold.
Unknown
inv-random
[@0: The dog is cold.[CWA. Example of deepest failure = (FAIL)]]
("dog" "is" "cold" "-")
The lion is cold.
Unknown
random
[@0: The lion is cold.[CWA. Example of deepest failure = (FAIL)]]
("lion" "is" "cold" "+")
@0: The dog eats the lion.[(triple1 OR ((triple12 triple8) -> rule5) OR ((((triple2 triple6) -> rule8) triple8) -> rule5) OR ((((((triple11) -> rule3) triple6) -> rule8) triple8) -> rule5) OR ((((((((triple7) -> rule7)) -> rule3) triple6) -> rule8) triple8) -> rule5))] The dog is blue.[(triple2 OR ((triple11) -> rule3) OR ((((triple7) -> rule7)) -> rule3))] The dog is kind.[(triple3)] The dog is rough.[(triple4 OR ((triple5 triple1) -> rule2) OR ((triple5 ((triple12 triple8) -> rule5)) -> rule2) OR ((triple5 ((((triple2 triple6) -> rule8) triple8) -> rule5)) -> rule2) OR ((triple5 ((((((triple11) -> rule3) triple6) -> rule8) triple8) -> rule5)) -> rule2) OR ((triple5 ((((((((triple7) -> rule7)) -> rule3) triple6) -> rule8) triple8) -> rule5)) -> rule2))] The dog needs the lion.[(triple5)] The dog visits the lion.[(triple6)] The lion eats the dog.[(triple7)] The lion is blue.[(triple8)] The lion is kind.[(triple9)] The lion is round.[(triple10)] The lion needs the dog.[(triple11 OR ((triple7) -> rule7))] The lion visits the dog.[(triple12 OR ((triple2 triple6) -> rule8) OR ((((triple11) -> rule3) triple6) -> rule8) OR ((((((triple7) -> rule7)) -> rule3) triple6) -> rule8))] @1: The lion eats the lion.[(((triple12) -> rule6) OR ((((triple2 triple6) -> rule8)) -> rule6) OR ((((((triple11) -> rule3) triple6) -> rule8)) -> rule6) OR ((((((((triple7) -> rule7)) -> rule3) triple6) -> rule8)) -> rule6))] The lion needs the lion.[(((triple7) -> rule1))] @2: The lion is rough.[(((((triple7) -> rule1) ((triple12) -> rule6)) -> rule2) OR ((((triple7) -> rule1) ((((triple2 triple6) -> rule8)) -> rule6)) -> rule2) OR ((((triple7) -> rule1) ((((((triple11) -> rule3) triple6) -> rule8)) -> rule6)) -> rule2) OR ((((triple7) -> rule1) ((((((((triple7) -> rule7)) -> rule3) triple6) -> rule8)) -> rule6)) -> rule2))]
The dog eats the lion.
("dog" "eats" "lion" "+")
triple1
((triple12 triple8) -> (rule5 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
((((triple2 triple6) -> (rule8 % int2)) triple8) -> (rule5 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
((((((triple11) -> (rule3 % int3)) triple6) -> (rule8 % int2)) triple8) -> (rule5 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
((((((((triple7) -> (rule7 % int4))) -> (rule3 % int3)) triple6) -> (rule8 % int2)) triple8) -> (rule5 % int1))
The dog eats the lion.
("dog" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
The lion needs the dog.
("lion" "needs" "dog" "+")
int4
The dog is blue.
("dog" "is" "blue" "+")
triple2
((triple11) -> (rule3 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
((((triple7) -> (rule7 % int2))) -> (rule3 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The lion needs the dog.
("lion" "needs" "dog" "+")
int2
The dog is kind.
("dog" "is" "kind" "+")
triple3
The dog is rough.
("dog" "is" "rough" "+")
triple4
((triple5 triple1) -> (rule2 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
((triple5 ((triple12 triple8) -> (rule5 % int2))) -> (rule2 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
((triple5 ((((triple2 triple6) -> (rule8 % int3)) triple8) -> (rule5 % int2))) -> (rule2 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
The lion visits the dog.
("lion" "visits" "dog" "+")
int3
((triple5 ((((((triple11) -> (rule3 % int4)) triple6) -> (rule8 % int3)) triple8) -> (rule5 % int2))) -> (rule2 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
The lion visits the dog.
("lion" "visits" "dog" "+")
int3
The dog is blue.
("dog" "is" "blue" "+")
int4
((triple5 ((((((((triple7) -> (rule7 % int5))) -> (rule3 % int4)) triple6) -> (rule8 % int3)) triple8) -> (rule5 % int2))) -> (rule2 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog eats the lion.
("dog" "eats" "lion" "+")
int2
The lion visits the dog.
("lion" "visits" "dog" "+")
int3
The dog is blue.
("dog" "is" "blue" "+")
int4
The lion needs the dog.
("lion" "needs" "dog" "+")
int5
The dog needs the lion.
("dog" "needs" "lion" "+")
triple5
The dog visits the lion.
("dog" "visits" "lion" "+")
triple6
The lion eats the dog.
("lion" "eats" "dog" "+")
triple7
The lion is blue.
("lion" "is" "blue" "+")
triple8
The lion is kind.
("lion" "is" "kind" "+")
triple9
The lion is round.
("lion" "is" "round" "+")
triple10
The lion needs the dog.
("lion" "needs" "dog" "+")
triple11
((triple7) -> (rule7 % int1))
The lion needs the dog.
("lion" "needs" "dog" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
triple12
((triple2 triple6) -> (rule8 % int1))
The lion visits the dog.
("lion" "visits" "dog" "+")
int1
((((triple11) -> (rule3 % int2)) triple6) -> (rule8 % int1))
The lion visits the dog.
("lion" "visits" "dog" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
((((((triple7) -> (rule7 % int3))) -> (rule3 % int2)) triple6) -> (rule8 % int1))
The lion visits the dog.
("lion" "visits" "dog" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The lion needs the dog.
("lion" "needs" "dog" "+")
int3
The lion eats the lion.
("lion" "eats" "lion" "+")
((triple12) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
((((triple2 triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
((((((triple11) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
((((((((triple7) -> (rule7 % int4))) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule6 % int1))
The lion eats the lion.
("lion" "eats" "lion" "+")
int1
The lion visits the dog.
("lion" "visits" "dog" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
The lion needs the dog.
("lion" "needs" "dog" "+")
int4
The lion needs the lion.
("lion" "needs" "lion" "+")
((triple7) -> (rule1 % int1))
The lion needs the lion.
("lion" "needs" "lion" "+")
int1
The lion is rough.
("lion" "is" "rough" "+")
((((triple7) -> (rule1 % int3)) ((triple12) -> (rule6 % int2))) -> (rule2 % int1))
The lion is rough.
("lion" "is" "rough" "+")
int1
The lion eats the lion.
("lion" "eats" "lion" "+")
int2
The lion needs the lion.
("lion" "needs" "lion" "+")
int3
((((triple7) -> (rule1 % int4)) ((((triple2 triple6) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
The lion is rough.
("lion" "is" "rough" "+")
int1
The lion eats the lion.
("lion" "eats" "lion" "+")
int2
The lion visits the dog.
("lion" "visits" "dog" "+")
int3
The lion needs the lion.
("lion" "needs" "lion" "+")
int4
((((triple7) -> (rule1 % int5)) ((((((triple11) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
The lion is rough.
("lion" "is" "rough" "+")
int1
The lion eats the lion.
("lion" "eats" "lion" "+")
int2
The lion visits the dog.
("lion" "visits" "dog" "+")
int3
The dog is blue.
("dog" "is" "blue" "+")
int4
The lion needs the lion.
("lion" "needs" "lion" "+")
int5
((((triple7) -> (rule1 % int6)) ((((((((triple7) -> (rule7 % int5))) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
The lion is rough.
("lion" "is" "rough" "+")
int1
The lion eats the lion.
("lion" "eats" "lion" "+")
int2
The lion visits the dog.
("lion" "visits" "dog" "+")
int3
The dog is blue.
("dog" "is" "blue" "+")
int4
The lion needs the dog.
("lion" "needs" "dog" "+")
int5
The lion needs the lion.
("lion" "needs" "lion" "+")
int6