Anne is cold. Anne is red. Anne is young. All young things are furry. All furry, red things are blue. All blue things are white.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is young.
("Anne" "is" "young" "+")
All young things are furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
All furry, red things are blue.
((("something" "is" "furry" "+") ("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
All blue things are white.
((("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
Anne is young.
True
1
proof
[(triple3)]
("Anne" "is" "young" "+")
triple3
Anne is not red.
False
1
inv-proof
[(triple2)]
("Anne" "is" "red" "-")
triple2
Anne is furry.
True
2
proof
[(((triple3) -> rule1))]
("Anne" "is" "furry" "+")
((triple3) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is not furry.
False
2
inv-proof
[(((triple3) -> rule1))]
("Anne" "is" "furry" "-")
((triple3) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
True
4
proof
[(((((triple3) -> rule1) triple2) -> rule2))]
("Anne" "is" "blue" "+")
((((triple3) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is not blue.
False
4
inv-proof
[(((((triple3) -> rule1) triple2) -> rule2))]
("Anne" "is" "blue" "-")
((((triple3) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is white.
True
5
proof
[(((((((triple3) -> rule1) triple2) -> rule2)) -> rule3))]
("Anne" "is" "white" "+")
((((((triple3) -> (rule1 % int3)) triple2) -> (rule2 % int2))) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
Anne is not white.
False
5
inv-proof
[(((((((triple3) -> rule1) triple2) -> rule2)) -> rule3))]
("Anne" "is" "white" "-")
((((((triple3) -> (rule1 % int3)) triple2) -> (rule2 % int2))) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3
@0: Anne is cold.[(triple1)] Anne is red.[(triple2)] Anne is young.[(triple3)] @1: Anne is furry.[(((triple3) -> rule1))] @2: Anne is blue.[(((((triple3) -> rule1) triple2) -> rule2))] @3: Anne is white.[(((((((triple3) -> rule1) triple2) -> rule2)) -> rule3))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is red.
("Anne" "is" "red" "+")
triple2
Anne is young.
("Anne" "is" "young" "+")
triple3
Anne is furry.
("Anne" "is" "furry" "+")
((triple3) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
((((triple3) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
((((((triple3) -> (rule1 % int3)) triple2) -> (rule2 % int2))) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
int3