The dog is green. The dog likes the mouse. The dog likes the tiger. The mouse needs the dog. The tiger likes the dog. The tiger needs the dog. The tiger needs the mouse. If someone likes the mouse then they need the tiger. If the dog needs the mouse then the dog visits the mouse. If someone visits the tiger and they visit the dog then the tiger needs the mouse. If someone needs the mouse and they like the tiger then the tiger likes the mouse. If someone needs the tiger then they visit the mouse. If someone is green and they visit the mouse then they need the mouse. If someone likes the mouse and the mouse likes the tiger then the tiger visits the mouse. If someone likes the dog then they visit the mouse.
The dog is green.
("dog" "is" "green" "+")
The dog likes the mouse.
("dog" "likes" "mouse" "+")
The dog likes the tiger.
("dog" "likes" "tiger" "+")
The mouse needs the dog.
("mouse" "needs" "dog" "+")
The tiger likes the dog.
("tiger" "likes" "dog" "+")
The tiger needs the dog.
("tiger" "needs" "dog" "+")
The tiger needs the mouse.
("tiger" "needs" "mouse" "+")
If someone likes the mouse then they need the tiger.
((("someone" "likes" "mouse" "+")) -> ("someone" "needs" "tiger" "+"))
If the dog needs the mouse then the dog visits the mouse.
((("dog" "needs" "mouse" "+")) -> ("dog" "visits" "mouse" "+"))
If someone visits the tiger and they visit the dog then the tiger needs the mouse.
((("someone" "visits" "tiger" "+") ("someone" "visits" "dog" "+")) -> ("tiger" "needs" "mouse" "+"))
If someone needs the mouse and they like the tiger then the tiger likes the mouse.
((("someone" "needs" "mouse" "+") ("someone" "likes" "tiger" "+")) -> ("tiger" "likes" "mouse" "+"))
If someone needs the tiger then they visit the mouse.
((("someone" "needs" "tiger" "+")) -> ("someone" "visits" "mouse" "+"))
If someone is green and they visit the mouse then they need the mouse.
((("someone" "is" "green" "+") ("someone" "visits" "mouse" "+")) -> ("someone" "needs" "mouse" "+"))
If someone likes the mouse and the mouse likes the tiger then the tiger visits the mouse.
((("someone" "likes" "mouse" "+") ("mouse" "likes" "tiger" "+")) -> ("tiger" "visits" "mouse" "+"))
If someone likes the dog then they visit the mouse.
((("someone" "likes" "dog" "+")) -> ("someone" "visits" "mouse" "+"))
The dog likes the tiger.
True
1
proof
[(triple3)]
("dog" "likes" "tiger" "+")
triple3
The tiger does not need the mouse.
False
1
inv-proof
[(triple7)]
("tiger" "needs" "mouse" "-")
triple7
The dog needs the tiger.
True
2
proof
[(((triple2) -> rule1))]
("dog" "needs" "tiger" "+")
((triple2) -> (rule1 % int1))
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int1
The tiger does not visit the mouse.
False
2
inv-proof
[(((triple5) -> rule8) OR ((((((((triple1 ((((triple2) -> rule1)) -> rule5)) -> rule6) triple3) -> rule4)) -> rule1)) -> rule5))]
("tiger" "visits" "mouse" "-")
((triple5) -> (rule8 % int1))
The tiger visits the mouse.
("tiger" "visits" "mouse" "+")
int1
((((((((triple1 ((((triple2) -> (rule1 % int6))) -> (rule5 % int5))) -> (rule6 % int4)) triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
The tiger visits the mouse.
("tiger" "visits" "mouse" "+")
int1
The tiger needs the tiger.
("tiger" "needs" "tiger" "+")
int2
The tiger likes the mouse.
("tiger" "likes" "mouse" "+")
int3
The dog needs the mouse.
("dog" "needs" "mouse" "+")
int4
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int5
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int6
The dog visits the mouse.
True
3
proof
[(((((triple2) -> rule1)) -> rule5))]
("dog" "visits" "mouse" "+")
((((triple2) -> (rule1 % int2))) -> (rule5 % int1))
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int1
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int2
The dog does not visit the mouse.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule5))]
("dog" "visits" "mouse" "-")
((((triple2) -> (rule1 % int2))) -> (rule5 % int1))
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int1
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int2
The dog needs the mouse.
True
5
proof
[(((triple1 ((((triple2) -> rule1)) -> rule5)) -> rule6))]
("dog" "needs" "mouse" "+")
((triple1 ((((triple2) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
The dog needs the mouse.
("dog" "needs" "mouse" "+")
int1
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int2
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int3
The dog does not need the mouse.
False
5
inv-proof
[(((triple1 ((((triple2) -> rule1)) -> rule5)) -> rule6))]
("dog" "needs" "mouse" "-")
((triple1 ((((triple2) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
The dog needs the mouse.
("dog" "needs" "mouse" "+")
int1
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int2
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int3
The mouse does not visit the mouse.
Unknown
inv-rconc
[@2: The mouse visits the mouse.[CWA. Example of deepest failure = (rule5 <- rule1 <- FAIL)]]
("mouse" "visits" "mouse" "-")
The mouse needs the tiger.
Unknown
rconc
[@1: The mouse needs the tiger.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("mouse" "needs" "tiger" "+")
The mouse does not need the mouse.
Unknown
inv-rconc
[@1: The mouse needs the mouse.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("mouse" "needs" "mouse" "-")
The mouse is young.
Unknown
random
[@0: The mouse is young.[CWA. Example of deepest failure = (FAIL)]]
("mouse" "is" "young" "+")
The dog does not like the dog.
Unknown
inv-random
[@0: The dog likes the dog.[CWA. Example of deepest failure = (FAIL)]]
("dog" "likes" "dog" "-")
The dog visits the tiger.
Unknown
random
[@0: The dog visits the tiger.[CWA. Example of deepest failure = (FAIL)]]
("dog" "visits" "tiger" "+")
The mouse does not like the tiger.
Unknown
inv-random
[@0: The mouse likes the tiger.[CWA. Example of deepest failure = (FAIL)]]
("mouse" "likes" "tiger" "-")
The mouse is nice.
Unknown
random
[@0: The mouse is nice.[CWA. Example of deepest failure = (FAIL)]]
("mouse" "is" "nice" "+")
@0: The dog is green.[(triple1)] The dog likes the mouse.[(triple2)] The dog likes the tiger.[(triple3)] The mouse needs the dog.[(triple4)] The tiger likes the dog.[(triple5)] The tiger needs the dog.[(triple6)] The tiger needs the mouse.[(triple7)] @1: The dog needs the tiger.[(((triple2) -> rule1))] The tiger visits the mouse.[(((triple5) -> rule8) OR ((((((((triple1 ((((triple2) -> rule1)) -> rule5)) -> rule6) triple3) -> rule4)) -> rule1)) -> rule5))] @2: The dog visits the mouse.[(((((triple2) -> rule1)) -> rule5))] @3: The dog needs the mouse.[(((triple1 ((((triple2) -> rule1)) -> rule5)) -> rule6))] @4: The tiger likes the mouse.[(((((triple1 ((((triple2) -> rule1)) -> rule5)) -> rule6) triple3) -> rule4))] @5: The tiger needs the tiger.[(((((((triple1 ((((triple2) -> rule1)) -> rule5)) -> rule6) triple3) -> rule4)) -> rule1))]
The dog is green.
("dog" "is" "green" "+")
triple1
The dog likes the mouse.
("dog" "likes" "mouse" "+")
triple2
The dog likes the tiger.
("dog" "likes" "tiger" "+")
triple3
The mouse needs the dog.
("mouse" "needs" "dog" "+")
triple4
The tiger likes the dog.
("tiger" "likes" "dog" "+")
triple5
The tiger needs the dog.
("tiger" "needs" "dog" "+")
triple6
The tiger needs the mouse.
("tiger" "needs" "mouse" "+")
triple7
The dog needs the tiger.
("dog" "needs" "tiger" "+")
((triple2) -> (rule1 % int1))
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int1
The tiger visits the mouse.
("tiger" "visits" "mouse" "+")
((triple5) -> (rule8 % int1))
The tiger visits the mouse.
("tiger" "visits" "mouse" "+")
int1
((((((((triple1 ((((triple2) -> (rule1 % int6))) -> (rule5 % int5))) -> (rule6 % int4)) triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
The tiger visits the mouse.
("tiger" "visits" "mouse" "+")
int1
The tiger needs the tiger.
("tiger" "needs" "tiger" "+")
int2
The tiger likes the mouse.
("tiger" "likes" "mouse" "+")
int3
The dog needs the mouse.
("dog" "needs" "mouse" "+")
int4
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int5
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int6
The dog visits the mouse.
("dog" "visits" "mouse" "+")
((((triple2) -> (rule1 % int2))) -> (rule5 % int1))
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int1
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int2
The dog needs the mouse.
("dog" "needs" "mouse" "+")
((triple1 ((((triple2) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
The dog needs the mouse.
("dog" "needs" "mouse" "+")
int1
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int2
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int3
The tiger likes the mouse.
("tiger" "likes" "mouse" "+")
((((triple1 ((((triple2) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule6 % int2)) triple3) -> (rule4 % int1))
The tiger likes the mouse.
("tiger" "likes" "mouse" "+")
int1
The dog needs the mouse.
("dog" "needs" "mouse" "+")
int2
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int3
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int4
The tiger needs the tiger.
("tiger" "needs" "tiger" "+")
((((((triple1 ((((triple2) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule1 % int1))
The tiger needs the tiger.
("tiger" "needs" "tiger" "+")
int1
The tiger likes the mouse.
("tiger" "likes" "mouse" "+")
int2
The dog needs the mouse.
("dog" "needs" "mouse" "+")
int3
The dog visits the mouse.
("dog" "visits" "mouse" "+")
int4
The dog needs the tiger.
("dog" "needs" "tiger" "+")
int5