Anne is blue. Anne is furry. Anne is kind. Anne is nice. Anne is quiet. Anne is round. Anne is white. Fiona is blue. Fiona is furry. Fiona is kind. Fiona is nice. Fiona is quiet. Fiona is round. Fiona is white. All quiet, white people are nice. If Fiona is nice and Fiona is kind then Fiona is furry. If someone is white and round then they are blue. Kind, round people are furry. If Anne is blue and Anne is round then Anne is nice. All kind people are furry. All quiet people are blue. Blue people are nice.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is white.
("Anne" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
All quiet, white people are nice.
((("someone" "is" "quiet" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "nice" "+"))
If Fiona is nice and Fiona is kind then Fiona is furry.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "kind" "+")) -> ("Fiona" "is" "furry" "+"))
If someone is white and round then they are blue.
((("someone" "is" "white" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
Kind, round people are furry.
((("someone" "is" "kind" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If Anne is blue and Anne is round then Anne is nice.
((("Anne" "is" "blue" "+") ("Anne" "is" "round" "+")) -> ("Anne" "is" "nice" "+"))
All kind people are furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
All quiet people are blue.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "+"))
Blue people are nice.
((("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
Anne is furry.
True
1
proof
[(triple2 OR ((triple3) -> rule6) OR ((triple3 triple6) -> rule4))]
("Anne" "is" "furry" "+")
triple2
((triple3) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple3 triple6) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Fiona is not blue.
False
1
inv-proof
[(triple8 OR ((triple12) -> rule7) OR ((triple14 triple13) -> rule3))]
("Fiona" "is" "blue" "-")
triple8
((triple12) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple14 triple13) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
@0: Anne is blue.[(triple1 OR ((triple5) -> rule7) OR ((triple7 triple6) -> rule3))] Anne is furry.[(triple2 OR ((triple3) -> rule6) OR ((triple3 triple6) -> rule4))] Anne is kind.[(triple3)] Anne is nice.[(triple4 OR ((triple1) -> rule8) OR ((triple1 triple6) -> rule5) OR ((triple5 triple7) -> rule1) OR ((((triple5) -> rule7)) -> rule8) OR ((((triple7 triple6) -> rule3)) -> rule8) OR ((((triple5) -> rule7) triple6) -> rule5) OR ((((triple7 triple6) -> rule3) triple6) -> rule5))] Anne is quiet.[(triple5)] Anne is round.[(triple6)] Anne is white.[(triple7)] Fiona is blue.[(triple8 OR ((triple12) -> rule7) OR ((triple14 triple13) -> rule3))] Fiona is furry.[(triple9 OR ((triple10) -> rule6) OR ((triple10 triple13) -> rule4) OR ((triple11 triple10) -> rule2) OR ((((triple8) -> rule8) triple10) -> rule2) OR ((((triple12 triple14) -> rule1) triple10) -> rule2) OR ((((((triple12) -> rule7)) -> rule8) triple10) -> rule2) OR ((((((triple14 triple13) -> rule3)) -> rule8) triple10) -> rule2))] Fiona is kind.[(triple10)] Fiona is nice.[(triple11 OR ((triple8) -> rule8) OR ((triple12 triple14) -> rule1) OR ((((triple12) -> rule7)) -> rule8) OR ((((triple14 triple13) -> rule3)) -> rule8))] Fiona is quiet.[(triple12)] Fiona is round.[(triple13)] Fiona is white.[(triple14)]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple5) -> (rule7 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple7 triple6) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple3) -> (rule6 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple3 triple6) -> (rule4 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
triple3
Anne is nice.
("Anne" "is" "nice" "+")
triple4
((triple1) -> (rule8 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple1 triple6) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple5 triple7) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple5) -> (rule7 % int2))) -> (rule8 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple7 triple6) -> (rule3 % int2))) -> (rule8 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple5) -> (rule7 % int2)) triple6) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple7 triple6) -> (rule3 % int2)) triple6) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple5
Anne is round.
("Anne" "is" "round" "+")
triple6
Anne is white.
("Anne" "is" "white" "+")
triple7
Fiona is blue.
("Fiona" "is" "blue" "+")
triple8
((triple12) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple14 triple13) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple9
((triple10) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple10 triple13) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple11 triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple8) -> (rule8 % int2)) triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple12 triple14) -> (rule1 % int2)) triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((((triple12) -> (rule7 % int3))) -> (rule8 % int2)) triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((((triple14 triple13) -> (rule3 % int3))) -> (rule8 % int2)) triple10) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
((triple8) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple12 triple14) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple12) -> (rule7 % int2))) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple14 triple13) -> (rule3 % int2))) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple12
Fiona is round.
("Fiona" "is" "round" "+")
triple13
Fiona is white.
("Fiona" "is" "white" "+")
triple14