The dog is green. The dog is nice. The dog is rough. Nice people are round. If someone is green and blue then they are nice. Round people are rough. If the dog is blue then the dog is rough. All blue people are green. If the dog is nice then the dog is rough. All green people are round. All round people are blue.
The dog is green.
("dog" "is" "green" "+")
The dog is nice.
("dog" "is" "nice" "+")
The dog is rough.
("dog" "is" "rough" "+")
Nice people are round.
((("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
If someone is green and blue then they are nice.
((("someone" "is" "green" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
Round people are rough.
((("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
If the dog is blue then the dog is rough.
((("dog" "is" "blue" "+")) -> ("dog" "is" "rough" "+"))
All blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
If the dog is nice then the dog is rough.
((("dog" "is" "nice" "+")) -> ("dog" "is" "rough" "+"))
All green people are round.
((("someone" "is" "green" "+")) -> ("someone" "is" "round" "+"))
All round people are blue.
((("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
The dog is green.
True
1
proof
[(triple1 OR ((((((triple2) -> rule1)) -> rule8)) -> rule5))]
("dog" "is" "green" "+")
triple1
((((((triple2) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
The dog is green.
("dog" "is" "green" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
The dog is not rough.
False
1
inv-proof
[(triple3 OR ((triple2) -> rule6) OR ((((triple1) -> rule7)) -> rule3) OR ((((triple2) -> rule1)) -> rule3) OR ((((((triple1) -> rule7)) -> rule8)) -> rule4) OR ((((((triple2) -> rule1)) -> rule8)) -> rule4) OR ((((triple1 ((((triple1) -> rule7)) -> rule8)) -> rule2)) -> rule6))]
("dog" "is" "rough" "-")
triple3
((triple2) -> (rule6 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
((((triple1) -> (rule7 % int2))) -> (rule3 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2
((((((triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
((((((triple2) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
((((triple1 ((((triple1) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
The dog is round.
("dog" "is" "round" "+")
int4
The dog is round.
True
2
proof
[(((triple1) -> rule7) OR ((triple2) -> rule1))]
("dog" "is" "round" "+")
((triple1) -> (rule7 % int1))
The dog is round.
("dog" "is" "round" "+")
int1
((triple2) -> (rule1 % int1))
The dog is round.
("dog" "is" "round" "+")
int1
The dog is not round.
False
2
inv-proof
[(((triple1) -> rule7) OR ((triple2) -> rule1))]
("dog" "is" "round" "-")
((triple1) -> (rule7 % int1))
The dog is round.
("dog" "is" "round" "+")
int1
((triple2) -> (rule1 % int1))
The dog is round.
("dog" "is" "round" "+")
int1
The dog does not chase the dog.
Unknown
inv-random
[@0: The dog chases the dog.[CWA. Example of deepest failure = (FAIL)]]
("dog" "chases" "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 green.[(triple1 OR ((((((triple2) -> rule1)) -> rule8)) -> rule5))] The dog is nice.[(triple2 OR ((triple1 ((((triple1) -> rule7)) -> rule8)) -> rule2))] The dog is rough.[(triple3 OR ((triple2) -> rule6) OR ((((triple1) -> rule7)) -> rule3) OR ((((triple2) -> rule1)) -> rule3) OR ((((((triple1) -> rule7)) -> rule8)) -> rule4) OR ((((((triple2) -> rule1)) -> rule8)) -> rule4) OR ((((triple1 ((((triple1) -> rule7)) -> rule8)) -> rule2)) -> rule6))] @1: The dog is round.[(((triple1) -> rule7) OR ((triple2) -> rule1))] @2: The dog is blue.[(((((triple1) -> rule7)) -> rule8) OR ((((triple2) -> rule1)) -> rule8))]
The dog is green.
("dog" "is" "green" "+")
triple1
((((((triple2) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
The dog is green.
("dog" "is" "green" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
The dog is nice.
("dog" "is" "nice" "+")
triple2
((triple1 ((((triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule2 % int1))
The dog is nice.
("dog" "is" "nice" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
The dog is rough.
("dog" "is" "rough" "+")
triple3
((triple2) -> (rule6 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
((((triple1) -> (rule7 % int2))) -> (rule3 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2
((((((triple1) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
((((((triple2) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
int2
The dog is round.
("dog" "is" "round" "+")
int3
((((triple1 ((((triple1) -> (rule7 % int4))) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
The dog is rough.
("dog" "is" "rough" "+")
int1
The dog is nice.
("dog" "is" "nice" "+")
int2
The dog is blue.
("dog" "is" "blue" "+")
int3
The dog is round.
("dog" "is" "round" "+")
int4
The dog is round.
("dog" "is" "round" "+")
((triple1) -> (rule7 % int1))
The dog is round.
("dog" "is" "round" "+")
int1
((triple2) -> (rule1 % int1))
The dog is round.
("dog" "is" "round" "+")
int1
The dog is blue.
("dog" "is" "blue" "+")
((((triple1) -> (rule7 % int2))) -> (rule8 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2
((((triple2) -> (rule1 % int2))) -> (rule8 % int1))
The dog is blue.
("dog" "is" "blue" "+")
int1
The dog is round.
("dog" "is" "round" "+")
int2