Anne is red. Anne is round. Anne is white. Anne is young. Gary is cold. Gary is furry. Gary is white. If someone is round then they are furry. Round people are furry. All cold people are red. If someone is round then they are white. If someone is red then they are cold. If someone is young and red then they are blue. If Gary is furry and Gary is white then Gary is round. All red people are young.
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is white.
("Anne" "is" "white" "+")
Anne is young.
("Anne" "is" "young" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is white.
("Gary" "is" "white" "+")
If someone is round then they are furry.
((("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
Round people are furry.
((("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
All cold people are red.
((("someone" "is" "cold" "+")) -> ("someone" "is" "red" "+"))
If someone is round then they are white.
((("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
If someone is red then they are cold.
((("someone" "is" "red" "+")) -> ("someone" "is" "cold" "+"))
If someone is young and red then they are blue.
((("someone" "is" "young" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
If Gary is furry and Gary is white then Gary is round.
((("Gary" "is" "furry" "+") ("Gary" "is" "white" "+")) -> ("Gary" "is" "round" "+"))
All red people are young.
((("someone" "is" "red" "+")) -> ("someone" "is" "young" "+"))
Anne is white.
True
1
proof
[(triple3 OR ((triple2) -> rule4))]
("Anne" "is" "white" "+")
triple3
((triple2) -> (rule4 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Gary is not furry.
False
1
inv-proof
[(triple6)]
("Gary" "is" "furry" "-")
triple6
Anne is furry.
True
2
proof
[(((triple2) -> rule1) OR ((triple2) -> rule2))]
("Anne" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple2) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is not blue.
False
3
inv-proof
[(((triple4 triple1) -> rule6) OR ((((triple1) -> rule8) triple1) -> rule6))]
("Anne" "is" "blue" "-")
((triple4 triple1) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple1) -> (rule8 % int2)) triple1) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Gary is young.
True
3
proof
[(((((triple5) -> rule3)) -> rule8))]
("Gary" "is" "young" "+")
((((triple5) -> (rule3 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is not young.
False
3
inv-proof
[(((((triple5) -> rule3)) -> rule8))]
("Gary" "is" "young" "-")
((((triple5) -> (rule3 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is blue.
True
6
proof
[(((((((triple5) -> rule3)) -> rule8) ((triple5) -> rule3)) -> rule6))]
("Gary" "is" "blue" "+")
((((((triple5) -> (rule3 % int3))) -> (rule8 % int2)) ((triple5) -> (rule3 % int3))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is not blue.
False
6
inv-proof
[(((((((triple5) -> rule3)) -> rule8) ((triple5) -> rule3)) -> rule6))]
("Gary" "is" "blue" "-")
((((((triple5) -> (rule3 % int3))) -> (rule8 % int2)) ((triple5) -> (rule3 % int3))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
@0: Anne is red.[(triple1)] Anne is round.[(triple2)] Anne is white.[(triple3 OR ((triple2) -> rule4))] Anne is young.[(triple4 OR ((triple1) -> rule8))] Gary is cold.[(triple5)] Gary is furry.[(triple6)] Gary is white.[(triple7)] @1: Anne is blue.[(((triple4 triple1) -> rule6) OR ((((triple1) -> rule8) triple1) -> rule6))] Anne is cold.[(((triple1) -> rule5))] Anne is furry.[(((triple2) -> rule1) OR ((triple2) -> rule2))] Gary is red.[(((triple5) -> rule3))] Gary is round.[(((triple6 triple7) -> rule7))] @2: Gary is young.[(((((triple5) -> rule3)) -> rule8))] @3: Gary is blue.[(((((((triple5) -> rule3)) -> rule8) ((triple5) -> rule3)) -> rule6))]
Anne is red.
("Anne" "is" "red" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Anne is white.
("Anne" "is" "white" "+")
triple3
((triple2) -> (rule4 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
triple4
((triple1) -> (rule8 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple6
Gary is white.
("Gary" "is" "white" "+")
triple7
Anne is blue.
("Anne" "is" "blue" "+")
((triple4 triple1) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple1) -> (rule8 % int2)) triple1) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
((triple1) -> (rule5 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
((triple2) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((triple2) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple5) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
((triple6 triple7) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
((((triple5) -> (rule3 % int2))) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((((((triple5) -> (rule3 % int3))) -> (rule8 % int2)) ((triple5) -> (rule3 % int3))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3