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