The cat is blue. The cat is kind. The cat is nice. The cat is red. The cat is round. If the cat is red and the cat is blue then the cat is kind. Kind things are red. If the cat is kind then the cat is round. Round things are nice. If something is round and not kind then it is nice. If the cat is kind and the cat is not round then the cat is not nice.
The cat is blue.
("cat" "is" "blue" "+")
The cat is kind.
("cat" "is" "kind" "+")
The cat is nice.
("cat" "is" "nice" "+")
The cat is red.
("cat" "is" "red" "+")
The cat is round.
("cat" "is" "round" "+")
If the cat is red and the cat is blue then the cat is kind.
((("cat" "is" "red" "+") ("cat" "is" "blue" "+")) -> ("cat" "is" "kind" "+"))
Kind things are red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
If the cat is kind then the cat is round.
((("cat" "is" "kind" "+")) -> ("cat" "is" "round" "+"))
Round things are nice.
((("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
If something is round and not kind then it is nice.
((("something" "is" "round" "+") ("something" "is" "kind" "~")) -> ("something" "is" "nice" "+"))
If the cat is kind and the cat is not round then the cat is not nice.
((("cat" "is" "kind" "+") ("cat" "is" "round" "~")) -> ("cat" "is" "nice" "-"))
The cat is round.
True
1
proof
[(triple5 OR ((triple2) -> rule3) OR ((((triple4 triple1) -> rule1)) -> rule3))]
("cat" "is" "round" "+")
triple5
((triple2) -> (rule3 % int1))
The cat is round.
("cat" "is" "round" "+")
int1
((((triple4 triple1) -> (rule1 % int2))) -> (rule3 % int1))
The cat is round.
("cat" "is" "round" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat is not kind.
False
1
inv-proof
[(triple2 OR ((triple4 triple1) -> rule1))]
("cat" "is" "kind" "-")
triple2
((triple4 triple1) -> (rule1 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat does not eat the cat.
Unknown
inv-random
[@0: The cat eats the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "eats" "cat" "-")
The cat chases the cat.
Unknown
random
[@0: The cat chases the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "chases" "cat" "+")
@0: The cat is blue.[(triple1)] The cat is kind.[(triple2 OR ((triple4 triple1) -> rule1))] The cat is nice.[(triple3 OR ((triple5) -> rule4) OR ((((triple2) -> rule3)) -> rule4) OR ((((((triple4 triple1) -> rule1)) -> rule3)) -> rule4))] The cat is red.[(triple4 OR ((triple2) -> rule2))] The cat is round.[(triple5 OR ((triple2) -> rule3) OR ((((triple4 triple1) -> rule1)) -> rule3))]
The cat is blue.
("cat" "is" "blue" "+")
triple1
The cat is kind.
("cat" "is" "kind" "+")
triple2
((triple4 triple1) -> (rule1 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat is nice.
("cat" "is" "nice" "+")
triple3
((triple5) -> (rule4 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule4 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
((((((triple4 triple1) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is round.
("cat" "is" "round" "+")
int2
The cat is kind.
("cat" "is" "kind" "+")
int3
The cat is red.
("cat" "is" "red" "+")
triple4
((triple2) -> (rule2 % int1))
The cat is red.
("cat" "is" "red" "+")
int1
The cat is round.
("cat" "is" "round" "+")
triple5
((triple2) -> (rule3 % int1))
The cat is round.
("cat" "is" "round" "+")
int1
((((triple4 triple1) -> (rule1 % int2))) -> (rule3 % int1))
The cat is round.
("cat" "is" "round" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2