The cat likes the dog. The dog eats the cat. If someone eats the cat then they are nice. If someone eats the cat and they are rough then they visit the dog. If someone likes the cat and the cat likes the dog then they visit the cat. If someone visits the dog and the dog is rough then the dog is kind. All nice people are rough. If someone is rough and cold then they like the cat.
The cat likes the dog.
("cat" "likes" "dog" "+")
The dog eats the cat.
("dog" "eats" "cat" "+")
If someone eats the cat then they are nice.
((("someone" "eats" "cat" "+")) -> ("someone" "is" "nice" "+"))
If someone eats the cat and they are rough then they visit the dog.
((("someone" "eats" "cat" "+") ("someone" "is" "rough" "+")) -> ("someone" "visits" "dog" "+"))
If someone likes the cat and the cat likes the dog then they visit the cat.
((("someone" "likes" "cat" "+") ("cat" "likes" "dog" "+")) -> ("someone" "visits" "cat" "+"))
If someone visits the dog and the dog is rough then the dog is kind.
((("someone" "visits" "dog" "+") ("dog" "is" "rough" "+")) -> ("dog" "is" "kind" "+"))
All nice people are rough.
((("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
If someone is rough and cold then they like the cat.
((("someone" "is" "rough" "+") ("someone" "is" "cold" "+")) -> ("someone" "likes" "cat" "+"))
The dog eats the cat.
True
1
proof
[(triple2)]
("dog" "eats" "cat" "+")
triple2
The cat does not like the dog.
False
1
inv-proof
[(triple1)]
("cat" "likes" "dog" "-")
triple1
The dog is nice.
True
2
proof
[(((triple2) -> rule1))]
("dog" "is" "nice" "+")
((triple2) -> (rule1 % int1))
The dog is nice.
("dog" "is" "nice" "+")
int1
The dog is not nice.
False
2
inv-proof
[(((triple2) -> rule1))]
("dog" "is" "nice" "-")
((triple2) -> (rule1 % int1))
The dog is nice.
("dog" "is" "nice" "+")
int1
The dog is rough.
True
3
proof
[(((((triple2) -> rule1)) -> rule5))]
("dog" "is" "rough" "+")
((((triple2) -> (rule1 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
The dog is not rough.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule5))]
("dog" "is" "rough" "-")
((((triple2) -> (rule1 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
The dog visits the dog.
True
5
proof
[(((triple2 ((((triple2) -> rule1)) -> rule5)) -> rule2))]
("dog" "visits" "dog" "+")
((triple2 ((((triple2) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
The dog visits the dog.
("dog" "visits" "dog" "+")
int1
The dog is rough.
("dog" "is" "rough" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
The dog does not visit the dog.
False
5
inv-proof
[(((triple2 ((((triple2) -> rule1)) -> rule5)) -> rule2))]
("dog" "visits" "dog" "-")
((triple2 ((((triple2) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
The dog visits the dog.
("dog" "visits" "dog" "+")
int1
The dog is rough.
("dog" "is" "rough" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
The cat does not visit the cat.
Unknown
inv-rconc
[@2: The cat visits the cat.[CWA. Example of deepest failure = (rule3 <- rule6 <- FAIL)]]
("cat" "visits" "cat" "-")
The dog likes the cat.
Unknown
rconc
[@1: The dog likes the cat.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("dog" "likes" "cat" "+")
The dog does not visit the cat.
Unknown
inv-rconc
[@2: The dog visits the cat.[CWA. Example of deepest failure = (rule3 <- rule6 <- FAIL)]]
("dog" "visits" "cat" "-")
The cat is nice.
Unknown
rconc
[@1: The cat is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("cat" "is" "nice" "+")
The dog is not cold.
Unknown
inv-random
[@0: The dog is cold.[CWA. Example of deepest failure = (FAIL)]]
("dog" "is" "cold" "-")
The cat is kind.
Unknown
random
[@0: The cat is kind.[CWA. Example of deepest failure = (FAIL)]]
("cat" "is" "kind" "+")
The dog is not round.
Unknown
inv-random
[@0: The dog is round.[CWA. Example of deepest failure = (FAIL)]]
("dog" "is" "round" "-")
The dog eats the dog.
Unknown
random
[@0: The dog eats the dog.[CWA. Example of deepest failure = (FAIL)]]
("dog" "eats" "dog" "+")
@0: The cat likes the dog.[(triple1)] The dog eats the cat.[(triple2)] @1: The dog is nice.[(((triple2) -> rule1))] @2: The dog is rough.[(((((triple2) -> rule1)) -> rule5))] @3: The dog visits the dog.[(((triple2 ((((triple2) -> rule1)) -> rule5)) -> rule2))] @4: The dog is kind.[(((((triple2 ((((triple2) -> rule1)) -> rule5)) -> rule2) ((((triple2) -> rule1)) -> rule5)) -> rule4))]
The cat likes the dog.
("cat" "likes" "dog" "+")
triple1
The dog eats the cat.
("dog" "eats" "cat" "+")
triple2
The dog is nice.
("dog" "is" "nice" "+")
((triple2) -> (rule1 % int1))
The dog is nice.
("dog" "is" "nice" "+")
int1
The dog is rough.
("dog" "is" "rough" "+")
((((triple2) -> (rule1 % int2))) -> (rule5 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
The dog visits the dog.
("dog" "visits" "dog" "+")
((triple2 ((((triple2) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
The dog visits the dog.
("dog" "visits" "dog" "+")
int1
The dog is rough.
("dog" "is" "rough" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
The dog is kind.
("dog" "is" "kind" "+")
((((triple2 ((((triple2) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule2 % int2)) ((((triple2) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule4 % int1))
The dog is kind.
("dog" "is" "kind" "+")
int1
The dog visits the dog.
("dog" "visits" "dog" "+")
int2
The dog is rough.
("dog" "is" "rough" "+")
int3
The dog is nice.
("dog" "is" "nice" "+")
int4