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