The cat is cold. The cat is green. The cat is nice. All nice things are kind. If something is kind and young then it is cold. If the cat is green and the cat is cold then the cat is nice. If something is kind and green then it is nice. All kind things are young. All kind, green things are nice.
The cat is cold.
("cat" "is" "cold" "+")
The cat is green.
("cat" "is" "green" "+")
The cat is nice.
("cat" "is" "nice" "+")
All nice things are kind.
((("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
If something is kind and young then it is cold.
((("something" "is" "kind" "+") ("something" "is" "young" "+")) -> ("something" "is" "cold" "+"))
If the cat is green and the cat is cold then the cat is nice.
((("cat" "is" "green" "+") ("cat" "is" "cold" "+")) -> ("cat" "is" "nice" "+"))
If something is kind and green then it is nice.
((("something" "is" "kind" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
All kind things are young.
((("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
All kind, green things are nice.
((("something" "is" "kind" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
The cat is green.
True
1
proof
[(triple2)]
("cat" "is" "green" "+")
triple2
The cat is not cold.
False
1
inv-proof
[(triple1 OR ((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule5)) -> rule2))]
("cat" "is" "cold" "-")
triple1
((((triple3) -> (rule1 % int3)) ((((triple3) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
The cat is cold.
("cat" "is" "cold" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat is kind.
("cat" "is" "kind" "+")
int3
The cat is kind.
True
2
proof
[(((triple3) -> rule1) OR ((((triple2 triple1) -> rule3)) -> rule1))]
("cat" "is" "kind" "+")
((triple3) -> (rule1 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
((((triple2 triple1) -> (rule3 % int2))) -> (rule1 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat is nice.
("cat" "is" "nice" "+")
int2
The cat is not kind.
False
2
inv-proof
[(((triple3) -> rule1) OR ((((triple2 triple1) -> rule3)) -> rule1))]
("cat" "is" "kind" "-")
((triple3) -> (rule1 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
((((triple2 triple1) -> (rule3 % int2))) -> (rule1 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat is nice.
("cat" "is" "nice" "+")
int2
The cat is young.
True
3
proof
[(((((triple3) -> rule1)) -> rule5) OR ((((((triple2 triple1) -> rule3)) -> rule1)) -> rule5))]
("cat" "is" "young" "+")
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((((((triple2 triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat is nice.
("cat" "is" "nice" "+")
int3
The cat is not young.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule5) OR ((((((triple2 triple1) -> rule3)) -> rule1)) -> rule5))]
("cat" "is" "young" "-")
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((((((triple2 triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat is nice.
("cat" "is" "nice" "+")
int3
The cat does not chase the cat.
Unknown
inv-random
[@0: The cat chases the cat.[CWA. Example of deepest failure = (FAIL)]]
("cat" "chases" "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 cold.[(triple1 OR ((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule5)) -> rule2))] The cat is green.[(triple2)] The cat is nice.[(triple3 OR ((triple2 triple1) -> rule3))] @1: The cat is kind.[(((triple3) -> rule1) OR ((((triple2 triple1) -> rule3)) -> rule1))] @2: The cat is young.[(((((triple3) -> rule1)) -> rule5) OR ((((((triple2 triple1) -> rule3)) -> rule1)) -> rule5))]
The cat is cold.
("cat" "is" "cold" "+")
triple1
((((triple3) -> (rule1 % int3)) ((((triple3) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
The cat is cold.
("cat" "is" "cold" "+")
int1
The cat is young.
("cat" "is" "young" "+")
int2
The cat is kind.
("cat" "is" "kind" "+")
int3
The cat is green.
("cat" "is" "green" "+")
triple2
The cat is nice.
("cat" "is" "nice" "+")
triple3
((triple2 triple1) -> (rule3 % int1))
The cat is nice.
("cat" "is" "nice" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
((triple3) -> (rule1 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
((((triple2 triple1) -> (rule3 % int2))) -> (rule1 % int1))
The cat is kind.
("cat" "is" "kind" "+")
int1
The cat is nice.
("cat" "is" "nice" "+")
int2
The cat is young.
("cat" "is" "young" "+")
((((triple3) -> (rule1 % int2))) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
((((((triple2 triple1) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
The cat is young.
("cat" "is" "young" "+")
int1
The cat is kind.
("cat" "is" "kind" "+")
int2
The cat is nice.
("cat" "is" "nice" "+")
int3