Anne is cold. Anne is furry. Anne is white. Cold, furry things are young. Young things are not red. If something is white and not red then it is round.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is white.
("Anne" "is" "white" "+")
Cold, furry things are young.
((("something" "is" "cold" "+") ("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
Young things are not red.
((("something" "is" "young" "+")) -> ("something" "is" "red" "-"))
If something is white and not red then it is round.
((("something" "is" "white" "+") ("something" "is" "red" "~")) -> ("something" "is" "round" "+"))
Anne is cold.
True
1
proof
[(triple1)]
("Anne" "is" "cold" "+")
triple1
Anne is not cold.
False
1
inv-proof
[(triple1)]
("Anne" "is" "cold" "-")
triple1
Anne is young.
True
3
proof
[(((triple1 triple2) -> rule1))]
("Anne" "is" "young" "+")
((triple1 triple2) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is not young.
False
3
inv-proof
[(((triple1 triple2) -> rule1))]
("Anne" "is" "young" "-")
((triple1 triple2) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is not red.
True
4
proof
[(((((triple1 triple2) -> rule1)) -> rule2))]
("Anne" "is" "red" "-")
((((triple1 triple2) -> (rule1 % int2))) -> (rule2 % int1))
Anne is not red.
("Anne" "is" "red" "-")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is red.
False
4
inv-proof
[(((((triple1 triple2) -> rule1)) -> rule2))]
("Anne" "is" "red" "+")
((((triple1 triple2) -> (rule1 % int2))) -> (rule2 % int1))
Anne is not red.
("Anne" "is" "red" "-")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is round.
True
6
proof
[(((triple3 ((((triple1 triple2) -> rule1)) -> rule2)) -> rule3))]
("Anne" "is" "round" "+")
((triple3 ((((triple1 triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is not red.
("Anne" "is" "red" "-")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is not round.
False
6
inv-proof
[(((triple3 ((((triple1 triple2) -> rule1)) -> rule2)) -> rule3))]
("Anne" "is" "round" "-")
((triple3 ((((triple1 triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is not red.
("Anne" "is" "red" "-")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
@0: Anne is cold.[(triple1)] Anne is furry.[(triple2)] Anne is white.[(triple3)] @1: Anne is young.[(((triple1 triple2) -> rule1))] @2: Anne is not red.[(((((triple1 triple2) -> rule1)) -> rule2))] @3: Anne is round.[(((triple3 ((((triple1 triple2) -> rule1)) -> rule2)) -> rule3))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Anne is white.
("Anne" "is" "white" "+")
triple3
Anne is young.
("Anne" "is" "young" "+")
((triple1 triple2) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is not red.
("Anne" "is" "red" "-")
((((triple1 triple2) -> (rule1 % int2))) -> (rule2 % int1))
Anne is not red.
("Anne" "is" "red" "-")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
((triple3 ((((triple1 triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is not red.
("Anne" "is" "red" "-")
int2
Anne is young.
("Anne" "is" "young" "+")
int3