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