Anne is blue. Anne is cold. Anne is furry. Anne is kind. Anne is quiet. Anne is red. Anne is rough. Red people are furry. All red, blue people are kind. If someone is red and furry then they are rough.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Red people are furry.
((("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
All red, blue people are kind.
((("someone" "is" "red" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If someone is red and furry then they are rough.
((("someone" "is" "red" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
Anne is furry.
True
1
proof
[(triple3 OR ((triple6) -> rule1))]
("Anne" "is" "furry" "+")
triple3
((triple6) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is not blue.
False
1
inv-proof
[(triple1)]
("Anne" "is" "blue" "-")
triple1
@0: Anne is blue.[(triple1)] Anne is cold.[(triple2)] Anne is furry.[(triple3 OR ((triple6) -> rule1))] Anne is kind.[(triple4 OR ((triple6 triple1) -> rule2))] Anne is quiet.[(triple5)] Anne is red.[(triple6)] Anne is rough.[(triple7 OR ((triple6 triple3) -> rule3) OR ((triple6 ((triple6) -> rule1)) -> rule3))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
((triple6) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
triple4
((triple6 triple1) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple5
Anne is red.
("Anne" "is" "red" "+")
triple6
Anne is rough.
("Anne" "is" "rough" "+")
triple7
((triple6 triple3) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((triple6 ((triple6) -> (rule1 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2