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