Anne is blue. Anne is cold. Anne is furry. Anne is green. Anne is kind. Anne is rough. Anne is round. If someone is round and cold then they are furry. Cold people are kind. Blue, cold people are round. If someone is furry then they are round. Kind people are round. All furry people are kind.
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 rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
If someone is round and cold then they are furry.
((("someone" "is" "round" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
Cold people are kind.
((("someone" "is" "cold" "+")) -> ("someone" "is" "kind" "+"))
Blue, cold people are round.
((("someone" "is" "blue" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "round" "+"))
If someone is furry then they are round.
((("someone" "is" "furry" "+")) -> ("someone" "is" "round" "+"))
Kind people are round.
((("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
All furry people are kind.
((("someone" "is" "furry" "+")) -> ("someone" "is" "kind" "+"))
Anne is green.
True
1
proof
[(triple4)]
("Anne" "is" "green" "+")
triple4
Anne is not cold.
False
1
inv-proof
[(triple2)]
("Anne" "is" "cold" "-")
triple2
@0: Anne is blue.[(triple1)] Anne is cold.[(triple2)] Anne is furry.[(triple3 OR ((triple7 triple2) -> rule1) OR ((((triple5) -> rule5) triple2) -> rule1) OR ((((triple1 triple2) -> rule3) triple2) -> rule1) OR ((((((triple2) -> rule2)) -> rule5) triple2) -> rule1))] Anne is green.[(triple4)] Anne is kind.[(triple5 OR ((triple2) -> rule2) OR ((triple3) -> rule6) OR ((((triple7 triple2) -> rule1)) -> rule6) OR ((((((triple1 triple2) -> rule3) triple2) -> rule1)) -> rule6))] Anne is rough.[(triple6)] Anne is round.[(triple7 OR ((triple3) -> rule4) OR ((triple5) -> rule5) OR ((triple1 triple2) -> rule3) OR ((((triple2) -> rule2)) -> rule5) OR ((((triple3) -> rule6)) -> rule5))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
((triple7 triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((triple5) -> (rule5 % int2)) triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
((((triple1 triple2) -> (rule3 % int2)) triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
((((((triple2) -> (rule2 % int3))) -> (rule5 % int2)) triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
triple4
Anne is kind.
("Anne" "is" "kind" "+")
triple5
((triple2) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple3) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((((triple7 triple2) -> (rule1 % int2))) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
((((((triple1 triple2) -> (rule3 % int3)) triple2) -> (rule1 % int2))) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
triple6
Anne is round.
("Anne" "is" "round" "+")
triple7
((triple3) -> (rule4 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple5) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple1 triple2) -> (rule3 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
((((triple3) -> (rule6 % int2))) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2