The dog is big. The dog is blue. The dog is cold. The dog is green. The dog is nice. All green people are nice. If the dog is nice then the dog is big. All big people are nice. All nice people are blue. If the dog is big and the dog is blue then the dog is cold. Green, cold people are nice.
The dog is big.
("dog" "is" "big" "+")
The dog is blue.
("dog" "is" "blue" "+")
The dog is cold.
("dog" "is" "cold" "+")
The dog is green.
("dog" "is" "green" "+")
The dog is nice.
("dog" "is" "nice" "+")
All green people are nice.
((("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
If the dog is nice then the dog is big.
((("dog" "is" "nice" "+")) -> ("dog" "is" "big" "+"))
All big people are nice.
((("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
All nice people are blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "+"))
If the dog is big and the dog is blue then the dog is cold.
((("dog" "is" "big" "+") ("dog" "is" "blue" "+")) -> ("dog" "is" "cold" "+"))
Green, cold people are nice.
((("someone" "is" "green" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "nice" "+"))
The dog is blue.
True
1
proof
[(triple2 OR ((triple5) -> rule4) OR ((((triple1) -> rule3)) -> rule4) OR ((((triple4) -> rule1)) -> rule4) OR ((((triple4 triple3) -> rule6)) -> rule4))]
("dog" "is" "blue" "+")
triple2
((triple5) -> (rule4 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
((((triple1) -> (rule3 % int2))) -> (rule4 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
((((triple4) -> (rule1 % int2))) -> (rule4 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
((((triple4 triple3) -> (rule6 % int2))) -> (rule4 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
The dog is not cold.
False
1
inv-proof
[(triple3 OR ((triple1 triple2) -> rule5) OR ((triple1 ((triple5) -> rule4)) -> rule5) OR ((((triple5) -> rule2) triple2) -> rule5) OR ((((triple5) -> rule2) ((triple5) -> rule4)) -> rule5) OR ((triple1 ((((triple1) -> rule3)) -> rule4)) -> rule5) OR ((triple1 ((((triple4) -> rule1)) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule2) triple2) -> rule5) OR ((((triple5) -> rule2) ((((triple1) -> rule3)) -> rule4)) -> rule5) OR ((((triple5) -> rule2) ((((triple4) -> rule1)) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule2) ((triple5) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule2) ((((triple1) -> rule3)) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule2) ((((triple4) -> rule1)) -> rule4)) -> rule5))]
("dog" "is" "cold" "-")
triple3
((triple1 triple2) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
((triple1 ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
((((triple5) -> (rule2 % int2)) triple2) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is big.
("dog" "is" "big" "+")
int2
((((triple5) -> (rule2 % int3)) ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is big.
("dog" "is" "big" "+")
int3
((triple1 ((((triple1) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
((triple1 ((((triple4) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
((((((triple4) -> (rule1 % int3))) -> (rule2 % int2)) triple2) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is big.
("dog" "is" "big" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
((((triple5) -> (rule2 % int4)) ((((triple1) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
The dog is big.
("dog" "is" "big" "+")
int4
((((triple5) -> (rule2 % int4)) ((((triple4) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
The dog is big.
("dog" "is" "big" "+")
int4
((((((triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is big.
("dog" "is" "big" "+")
int3
The dog is nice.
("dog" "is" "nice" "+")
int4
((((((triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple1) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is big.
("dog" "is" "big" "+")
int3
The dog is nice.
("dog" "is" "nice" "+")
int4
((((((triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple4) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is big.
("dog" "is" "big" "+")
int3
The dog is nice.
("dog" "is" "nice" "+")
int4
The dog does not visit the dog.
Unknown
inv-random
[@0: The dog visits the dog.[CWA. Example of deepest failure = (FAIL)]]
("dog" "visits" "dog" "-")
The dog likes the dog.
Unknown
random
[@0: The dog likes the dog.[CWA. Example of deepest failure = (FAIL)]]
("dog" "likes" "dog" "+")
@0: The dog is big.[(triple1 OR ((triple5) -> rule2) OR ((((triple4) -> rule1)) -> rule2) OR ((((triple4 triple3) -> rule6)) -> rule2))] The dog is blue.[(triple2 OR ((triple5) -> rule4) OR ((((triple1) -> rule3)) -> rule4) OR ((((triple4) -> rule1)) -> rule4) OR ((((triple4 triple3) -> rule6)) -> rule4))] The dog is cold.[(triple3 OR ((triple1 triple2) -> rule5) OR ((triple1 ((triple5) -> rule4)) -> rule5) OR ((((triple5) -> rule2) triple2) -> rule5) OR ((((triple5) -> rule2) ((triple5) -> rule4)) -> rule5) OR ((triple1 ((((triple1) -> rule3)) -> rule4)) -> rule5) OR ((triple1 ((((triple4) -> rule1)) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule2) triple2) -> rule5) OR ((((triple5) -> rule2) ((((triple1) -> rule3)) -> rule4)) -> rule5) OR ((((triple5) -> rule2) ((((triple4) -> rule1)) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule2) ((triple5) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule2) ((((triple1) -> rule3)) -> rule4)) -> rule5) OR ((((((triple4) -> rule1)) -> rule2) ((((triple4) -> rule1)) -> rule4)) -> rule5))] The dog is green.[(triple4)] The dog is nice.[(triple5 OR ((triple1) -> rule3) OR ((triple4) -> rule1) OR ((triple4 triple3) -> rule6) OR ((triple4 ((triple1 triple2) -> rule5)) -> rule6))]
The dog is big.
("dog" "is" "big" "+")
triple1
((triple5) -> (rule2 % int1))
The dog is big.
("dog" "is" "big" "+")
int1
((((triple4) -> (rule1 % int2))) -> (rule2 % int1))
The dog is big.
("dog" "is" "big" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
((((triple4 triple3) -> (rule6 % int2))) -> (rule2 % int1))
The dog is big.
("dog" "is" "big" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
triple2
((triple5) -> (rule4 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
((((triple1) -> (rule3 % int2))) -> (rule4 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
((((triple4) -> (rule1 % int2))) -> (rule4 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
((((triple4 triple3) -> (rule6 % int2))) -> (rule4 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
The dog is cold.
("dog" "is" "cold" "+")
triple3
((triple1 triple2) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
((triple1 ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
((((triple5) -> (rule2 % int2)) triple2) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is big.
("dog" "is" "big" "+")
int2
((((triple5) -> (rule2 % int3)) ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is big.
("dog" "is" "big" "+")
int3
((triple1 ((((triple1) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
((triple1 ((((triple4) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
((((((triple4) -> (rule1 % int3))) -> (rule2 % int2)) triple2) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is big.
("dog" "is" "big" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
((((triple5) -> (rule2 % int4)) ((((triple1) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
The dog is big.
("dog" "is" "big" "+")
int4
((((triple5) -> (rule2 % int4)) ((((triple4) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is nice.
("dog" "is" "nice" "+")
int3
The dog is big.
("dog" "is" "big" "+")
int4
((((((triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is big.
("dog" "is" "big" "+")
int3
The dog is nice.
("dog" "is" "nice" "+")
int4
((((((triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple1) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is big.
("dog" "is" "big" "+")
int3
The dog is nice.
("dog" "is" "nice" "+")
int4
((((((triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple4) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
The dog is cold.
("dog" "is" "cold" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is big.
("dog" "is" "big" "+")
int3
The dog is nice.
("dog" "is" "nice" "+")
int4
The dog is green.
("dog" "is" "green" "+")
triple4
The dog is nice.
("dog" "is" "nice" "+")
triple5
((triple1) -> (rule3 % int1))
The dog is nice.
("dog" "is" "nice" "+")
int1
((triple4) -> (rule1 % int1))
The dog is nice.
("dog" "is" "nice" "+")
int1
((triple4 triple3) -> (rule6 % int1))
The dog is nice.
("dog" "is" "nice" "+")
int1
((triple4 ((triple1 triple2) -> (rule5 % int2))) -> (rule6 % int1))
The dog is nice.
("dog" "is" "nice" "+")
int1
The dog is cold.
("dog" "is" "cold" "+")
int2