Anne is blue. Anne is cold. Anne is nice. Anne is red. Anne is rough. Anne is smart. Anne is young. Dave is blue. Dave is cold. Dave is nice. Dave is red. Dave is rough. Dave is smart. Dave is young. If something is smart and blue then it is rough. All young things are cold. If Dave is cold and Dave is young then Dave is rough. If something is blue then it is nice. If Anne is nice then Anne is rough. Cold things are nice. If Dave is blue then Dave is cold. If something is rough and smart then it is blue.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is young.
("Dave" "is" "young" "+")
If something is smart and blue then it is rough.
((("something" "is" "smart" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
All young things are cold.
((("something" "is" "young" "+")) -> ("something" "is" "cold" "+"))
If Dave is cold and Dave is young then Dave is rough.
((("Dave" "is" "cold" "+") ("Dave" "is" "young" "+")) -> ("Dave" "is" "rough" "+"))
If something is blue then it is nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If Anne is nice then Anne is rough.
((("Anne" "is" "nice" "+")) -> ("Anne" "is" "rough" "+"))
Cold things are nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
If Dave is blue then Dave is cold.
((("Dave" "is" "blue" "+")) -> ("Dave" "is" "cold" "+"))
If something is rough and smart then it is blue.
((("something" "is" "rough" "+") ("something" "is" "smart" "+")) -> ("something" "is" "blue" "+"))
Anne is nice.
True
1
proof
[(triple3 OR ((triple1) -> rule4) OR ((triple2) -> rule6) OR ((((triple7) -> rule2)) -> rule6) OR ((((triple5 triple6) -> rule8)) -> rule4))]
("Anne" "is" "nice" "+")
triple3
((triple1) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple2) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((((triple5 triple6) -> (rule8 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Dave is not smart.
False
1
inv-proof
[(triple13)]
("Dave" "is" "smart" "-")
triple13
@0: Anne is blue.[(triple1 OR ((triple5 triple6) -> rule8) OR ((((triple3) -> rule5) triple6) -> rule8) OR ((((((triple2) -> rule6)) -> rule5) triple6) -> rule8) OR ((((((((triple7) -> rule2)) -> rule6)) -> rule5) triple6) -> rule8))] Anne is cold.[(triple2 OR ((triple7) -> rule2))] Anne is nice.[(triple3 OR ((triple1) -> rule4) OR ((triple2) -> rule6) OR ((((triple7) -> rule2)) -> rule6) OR ((((triple5 triple6) -> rule8)) -> rule4))] Anne is red.[(triple4)] Anne is rough.[(triple5 OR ((triple3) -> rule5) OR ((triple6 triple1) -> rule1) OR ((((triple1) -> rule4)) -> rule5) OR ((((triple2) -> rule6)) -> rule5) OR ((((((triple7) -> rule2)) -> rule6)) -> rule5))] Anne is smart.[(triple6)] Anne is young.[(triple7)] Dave is blue.[(triple8 OR ((triple12 triple13) -> rule8) OR ((((triple9 triple14) -> rule3) triple13) -> rule8) OR ((((((triple14) -> rule2) triple14) -> rule3) triple13) -> rule8))] Dave is cold.[(triple9 OR ((triple14) -> rule2) OR ((triple8) -> rule7) OR ((((triple12 triple13) -> rule8)) -> rule7))] Dave is nice.[(triple10 OR ((triple8) -> rule4) OR ((triple9) -> rule6) OR ((((triple14) -> rule2)) -> rule6) OR ((((triple8) -> rule7)) -> rule6) OR ((((triple12 triple13) -> rule8)) -> rule4) OR ((((((triple12 triple13) -> rule8)) -> rule7)) -> rule6) OR ((((((triple9 triple14) -> rule3) triple13) -> rule8)) -> rule4) OR ((((((((triple14) -> rule2) triple14) -> rule3) triple13) -> rule8)) -> rule4))] Dave is red.[(triple11)] Dave is rough.[(triple12 OR ((triple13 triple8) -> rule1) OR ((triple9 triple14) -> rule3) OR ((((triple14) -> rule2) triple14) -> rule3) OR ((((triple8) -> rule7) triple14) -> rule3))] Dave is smart.[(triple13)] Dave is young.[(triple14)]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple5 triple6) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple3) -> (rule5 % int2)) triple6) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((((triple2) -> (rule6 % int3))) -> (rule5 % int2)) triple6) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((((((((triple7) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule5 % int2)) triple6) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
Anne is cold.
("Anne" "is" "cold" "+")
triple2
((triple7) -> (rule2 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
triple3
((triple1) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple2) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((((triple5 triple6) -> (rule8 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
triple4
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple3) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((triple6 triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple1) -> (rule4 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((triple2) -> (rule6 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((((triple7) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
triple6
Anne is young.
("Anne" "is" "young" "+")
triple7
Dave is blue.
("Dave" "is" "blue" "+")
triple8
((triple12 triple13) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((((triple9 triple14) -> (rule3 % int2)) triple13) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple14) -> (rule2 % int3)) triple14) -> (rule3 % int2)) triple13) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
triple9
((triple14) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((triple8) -> (rule7 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((((triple12 triple13) -> (rule8 % int2))) -> (rule7 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
triple10
((triple8) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple9) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple14) -> (rule2 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((triple8) -> (rule7 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((triple12 triple13) -> (rule8 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((((triple12 triple13) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple9 triple14) -> (rule3 % int3)) triple13) -> (rule8 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((((triple14) -> (rule2 % int4)) triple14) -> (rule3 % int3)) triple13) -> (rule8 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
triple11
Dave is rough.
("Dave" "is" "rough" "+")
triple12
((triple13 triple8) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple9 triple14) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple14) -> (rule2 % int2)) triple14) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((((triple8) -> (rule7 % int2)) triple14) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
triple13
Dave is young.
("Dave" "is" "young" "+")
triple14