Anne is cold. Anne is furry. Anne is kind. Anne is young. Erin is cold. Erin is furry. Erin is green. Erin is kind. Erin is smart. Erin is young. All smart, green people are cold. All furry, red people are green. If someone is kind and furry then they are red.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is young.
("Anne" "is" "young" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
All smart, green people are cold.
((("someone" "is" "smart" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "cold" "+"))
All furry, red people are green.
((("someone" "is" "furry" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
If someone is kind and furry then they are red.
((("someone" "is" "kind" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
Anne is furry.
True
1
proof
[(triple2)]
("Anne" "is" "furry" "+")
triple2
Erin is not kind.
False
1
inv-proof
[(triple8)]
("Erin" "is" "kind" "-")
triple8
Anne is red.
True
3
proof
[(((triple3 triple2) -> rule3))]
("Anne" "is" "red" "+")
((triple3 triple2) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Erin is not red.
False
3
inv-proof
[(((triple8 triple6) -> rule3))]
("Erin" "is" "red" "-")
((triple8 triple6) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Anne is green.
True
5
proof
[(((triple2 ((triple3 triple2) -> rule3)) -> rule2))]
("Anne" "is" "green" "+")
((triple2 ((triple3 triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is not green.
False
5
inv-proof
[(((triple2 ((triple3 triple2) -> rule3)) -> rule2))]
("Anne" "is" "green" "-")
((triple2 ((triple3 triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
@0: Anne is cold.[(triple1)] Anne is furry.[(triple2)] Anne is kind.[(triple3)] Anne is young.[(triple4)] Erin is cold.[(triple5 OR ((triple9 triple7) -> rule1) OR ((triple9 ((triple6 ((triple8 triple6) -> rule3)) -> rule2)) -> rule1))] Erin is furry.[(triple6)] Erin is green.[(triple7 OR ((triple6 ((triple8 triple6) -> rule3)) -> rule2))] Erin is kind.[(triple8)] Erin is smart.[(triple9)] Erin is young.[(triple10)] @1: Anne is red.[(((triple3 triple2) -> rule3))] Erin is red.[(((triple8 triple6) -> rule3))] @2: Anne is green.[(((triple2 ((triple3 triple2) -> rule3)) -> rule2))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Anne is kind.
("Anne" "is" "kind" "+")
triple3
Anne is young.
("Anne" "is" "young" "+")
triple4
Erin is cold.
("Erin" "is" "cold" "+")
triple5
((triple9 triple7) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple9 ((triple6 ((triple8 triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
triple6
Erin is green.
("Erin" "is" "green" "+")
triple7
((triple6 ((triple8 triple6) -> (rule3 % int2))) -> (rule2 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
triple8
Erin is smart.
("Erin" "is" "smart" "+")
triple9
Erin is young.
("Erin" "is" "young" "+")
triple10
Anne is red.
("Anne" "is" "red" "+")
((triple3 triple2) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((triple8 triple6) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
((triple2 ((triple3 triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2