Anne is blue. Anne is green. Anne is kind. Anne is quiet. Anne is red. Anne is rough. Anne is young. If something is rough then it is blue. If Anne is red and Anne is young then Anne is green. If Anne is rough and Anne is young then Anne is red. If Anne is quiet and Anne is kind then Anne is red. If Anne is rough then Anne is kind. Quiet, green things are blue.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is young.
("Anne" "is" "young" "+")
If something is rough then it is blue.
((("something" "is" "rough" "+")) -> ("something" "is" "blue" "+"))
If Anne is red and Anne is young then Anne is green.
((("Anne" "is" "red" "+") ("Anne" "is" "young" "+")) -> ("Anne" "is" "green" "+"))
If Anne is rough and Anne is young then Anne is red.
((("Anne" "is" "rough" "+") ("Anne" "is" "young" "+")) -> ("Anne" "is" "red" "+"))
If Anne is quiet and Anne is kind then Anne is red.
((("Anne" "is" "quiet" "+") ("Anne" "is" "kind" "+")) -> ("Anne" "is" "red" "+"))
If Anne is rough then Anne is kind.
((("Anne" "is" "rough" "+")) -> ("Anne" "is" "kind" "+"))
Quiet, green things are blue.
((("something" "is" "quiet" "+") ("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
Anne is green.
True
1
proof
[(triple2 OR ((triple5 triple7) -> rule2) OR ((((triple4 triple3) -> rule4) triple7) -> rule2) OR ((((triple6 triple7) -> rule3) triple7) -> rule2) OR ((((triple4 ((triple6) -> rule5)) -> rule4) triple7) -> rule2))]
("Anne" "is" "green" "+")
triple2
((triple5 triple7) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple4 triple3) -> (rule4 % int2)) triple7) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple6 triple7) -> (rule3 % int2)) triple7) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple4 ((triple6) -> (rule5 % int3))) -> (rule4 % int2)) triple7) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is not quiet.
False
1
inv-proof
[(triple4)]
("Anne" "is" "quiet" "-")
triple4
@0: Anne is blue.[(triple1 OR ((triple6) -> rule1) OR ((triple4 triple2) -> rule6) OR ((triple4 ((triple5 triple7) -> rule2)) -> rule6) OR ((triple4 ((((triple4 triple3) -> rule4) triple7) -> rule2)) -> rule6) OR ((triple4 ((((triple6 triple7) -> rule3) triple7) -> rule2)) -> rule6) OR ((triple4 ((((triple4 ((triple6) -> rule5)) -> rule4) triple7) -> rule2)) -> rule6))] Anne is green.[(triple2 OR ((triple5 triple7) -> rule2) OR ((((triple4 triple3) -> rule4) triple7) -> rule2) OR ((((triple6 triple7) -> rule3) triple7) -> rule2) OR ((((triple4 ((triple6) -> rule5)) -> rule4) triple7) -> rule2))] Anne is kind.[(triple3 OR ((triple6) -> rule5))] Anne is quiet.[(triple4)] Anne is red.[(triple5 OR ((triple4 triple3) -> rule4) OR ((triple6 triple7) -> rule3) OR ((triple4 ((triple6) -> rule5)) -> rule4))] Anne is rough.[(triple6)] Anne is young.[(triple7)]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple6) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple4 triple2) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple4 ((triple5 triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((triple4 ((((triple4 triple3) -> (rule4 % int3)) triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((triple4 ((((triple6 triple7) -> (rule3 % int3)) triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((triple4 ((((triple4 ((triple6) -> (rule5 % int4))) -> (rule4 % int3)) triple7) -> (rule2 % int2))) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
triple2
((triple5 triple7) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple4 triple3) -> (rule4 % int2)) triple7) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple6 triple7) -> (rule3 % int2)) triple7) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((triple4 ((triple6) -> (rule5 % int3))) -> (rule4 % int2)) triple7) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
triple3
((triple6) -> (rule5 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Anne is red.
("Anne" "is" "red" "+")
triple5
((triple4 triple3) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple6 triple7) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple4 ((triple6) -> (rule5 % int2))) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
triple6
Anne is young.
("Anne" "is" "young" "+")
triple7