The cat is green. The cat is kind. The cat is nice. The cat is red. The cat is young. If something is red and kind then it is green. If the cat is green then the cat is young. Kind things are green. If something is nice then it is kind. Kind, red things are young. If something is young and green then it is kind. Nice things are young. If the cat is young and the cat is nice then the cat is kind.
The cat is green.
("cat" "is" "green" "+")
The cat is kind.
("cat" "is" "kind" "+")
The cat is nice.
("cat" "is" "nice" "+")
The cat is red.
("cat" "is" "red" "+")
The cat is young.
("cat" "is" "young" "+")
If something is red and kind then it is green.
((("something" "is" "red" "+") ("something" "is" "kind" "+")) -> ("something" "is" "green" "+"))
If the cat is green then the cat is young.
((("cat" "is" "green" "+")) -> ("cat" "is" "young" "+"))
Kind things are green.
((("something" "is" "kind" "+")) -> ("something" "is" "green" "+"))
If something is nice then it is kind.
((("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
Kind, red things are young.
((("something" "is" "kind" "+") ("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
If something is young and green then it is kind.
((("something" "is" "young" "+") ("something" "is" "green" "+")) -> ("something" "is" "kind" "+"))
Nice things are young.
((("something" "is" "nice" "+")) -> ("something" "is" "young" "+"))
If the cat is young and the cat is nice then the cat is kind.
((("cat" "is" "young" "+") ("cat" "is" "nice" "+")) -> ("cat" "is" "kind" "+"))
The cat is green.
True
1
proof
[(triple1 OR ((triple2) -> rule3) OR ((triple4 triple2) -> rule1) OR ((((triple3) -> rule4)) -> rule3) OR ((((triple5 triple3) -> rule8)) -> rule3) OR ((triple4 ((triple3) -> rule4)) -> rule1) OR ((triple4 ((triple5 triple3) -> rule8)) -> rule1) OR ((((((triple3) -> rule7) triple3) -> rule8)) -> rule3) OR ((triple4 ((((triple3) -> rule7) triple3) -> rule8)) -> rule1))]
("cat" "is" "green" "+")
triple1
((triple2) -> (rule3 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
((triple4 triple2) -> (rule1 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
((((triple3) -> (rule4 % int2))) -> (rule3 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((((triple5 triple3) -> (rule8 % int2))) -> (rule3 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((triple4 ((triple3) -> (rule4 % int2))) -> (rule1 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((triple4 ((triple5 triple3) -> (rule8 % int2))) -> (rule1 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((((((triple3) -> (rule7 % int3)) triple3) -> (rule8 % int2))) -> (rule3 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
((triple4 ((((triple3) -> (rule7 % int3)) triple3) -> (rule8 % int2))) -> (rule1 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
The cat is not red.
False
1
inv-proof
[(triple4)]
("cat" "is" "red" "-")
triple4
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 needs the cat.
Unknown
random
[@0: The cat needs the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "needs" "cat" "+")
@0: The cat is green.[(triple1 OR ((triple2) -> rule3) OR ((triple4 triple2) -> rule1) OR ((((triple3) -> rule4)) -> rule3) OR ((((triple5 triple3) -> rule8)) -> rule3) OR ((triple4 ((triple3) -> rule4)) -> rule1) OR ((triple4 ((triple5 triple3) -> rule8)) -> rule1) OR ((((((triple3) -> rule7) triple3) -> rule8)) -> rule3) OR ((triple4 ((((triple3) -> rule7) triple3) -> rule8)) -> rule1))] The cat is kind.[(triple2 OR ((triple3) -> rule4) OR ((triple5 triple1) -> rule6) OR ((triple5 triple3) -> rule8) OR ((((triple1) -> rule2) triple1) -> rule6) OR ((((triple1) -> rule2) triple3) -> rule8) OR ((((triple3) -> rule7) triple1) -> rule6) OR ((((triple3) -> rule7) triple3) -> rule8))] The cat is nice.[(triple3)] The cat is red.[(triple4)] The cat is young.[(triple5 OR ((triple1) -> rule2) OR ((triple3) -> rule7) OR ((triple2 triple4) -> rule5) OR ((((triple2) -> rule3)) -> rule2) OR ((((triple4 triple2) -> rule1)) -> rule2) OR ((((triple3) -> rule4) triple4) -> rule5) OR ((((((triple3) -> rule4)) -> rule3)) -> rule2) OR ((((triple4 ((triple3) -> rule4)) -> rule1)) -> rule2))]
The cat is green.
("cat" "is" "green" "+")
triple1
((triple2) -> (rule3 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
((triple4 triple2) -> (rule1 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
((((triple3) -> (rule4 % int2))) -> (rule3 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((((triple5 triple3) -> (rule8 % int2))) -> (rule3 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((triple4 ((triple3) -> (rule4 % int2))) -> (rule1 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((triple4 ((triple5 triple3) -> (rule8 % int2))) -> (rule1 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((((((triple3) -> (rule7 % int3)) triple3) -> (rule8 % int2))) -> (rule3 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
((triple4 ((((triple3) -> (rule7 % int3)) triple3) -> (rule8 % int2))) -> (rule1 % int1))
The cat is green.
("cat" "is" "green" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat is young.
("cat" "is" "young" "+")
int3
The cat is kind.
("cat" "is" "kind" "+")
triple2
((triple3) -> (rule4 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
((triple5 triple1) -> (rule6 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
((triple5 triple3) -> (rule8 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
((((triple1) -> (rule2 % int2)) triple1) -> (rule6 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
((((triple1) -> (rule2 % int2)) triple3) -> (rule8 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
((((triple3) -> (rule7 % int2)) triple1) -> (rule6 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
((((triple3) -> (rule7 % int2)) triple3) -> (rule8 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat is nice.
("cat" "is" "nice" "+")
triple3
The cat is red.
("cat" "is" "red" "+")
triple4
The cat is young.
("cat" "is" "young" "+")
triple5
((triple1) -> (rule2 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
((triple3) -> (rule7 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
((triple2 triple4) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule2 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
((((triple4 triple2) -> (rule1 % int2))) -> (rule2 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
((((triple3) -> (rule4 % int2)) triple4) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((((((triple3) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is kind.
("cat" "is" "kind" "+")
int3
((((triple4 ((triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is green.
("cat" "is" "green" "+")
int2
The cat is kind.
("cat" "is" "kind" "+")
int3