Anne is cold. Anne is round. Anne is young. If something is kind then it is young. Rough, cold things are young. Round things are rough. If something is cold and not round then it is not kind. All cold things are red. Big, rough things are red. Red, cold things are not big. If something is red and not young then it is big.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is young.
("Anne" "is" "young" "+")
If something is kind then it is young.
((("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
Rough, cold things are young.
((("something" "is" "rough" "+") ("something" "is" "cold" "+")) -> ("something" "is" "young" "+"))
Round things are rough.
((("something" "is" "round" "+")) -> ("something" "is" "rough" "+"))
If something is cold and not round then it is not kind.
((("something" "is" "cold" "+") ("something" "is" "round" "~")) -> ("something" "is" "kind" "-"))
All cold things are red.
((("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
Big, rough things are red.
((("something" "is" "big" "+") ("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
Red, cold things are not big.
((("something" "is" "red" "+") ("something" "is" "cold" "+")) -> ("something" "is" "big" "-"))
If something is red and not young then it is big.
((("something" "is" "red" "+") ("something" "is" "young" "~")) -> ("something" "is" "big" "+"))
Anne is young.
True
1
proof
[(triple3 OR ((((triple2) -> rule3) triple1) -> rule2))]
("Anne" "is" "young" "+")
triple3
((((triple2) -> (rule3 % int2)) triple1) -> (rule2 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is not young.
False
1
inv-proof
[(triple3 OR ((((triple2) -> rule3) triple1) -> rule2))]
("Anne" "is" "young" "-")
triple3
((((triple2) -> (rule3 % int2)) triple1) -> (rule2 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is red.
True
2
proof
[(((triple1) -> rule5))]
("Anne" "is" "red" "+")
((triple1) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is not red.
False
2
inv-proof
[(((triple1) -> rule5))]
("Anne" "is" "red" "-")
((triple1) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
@0: Anne is cold.[(triple1)] Anne is round.[(triple2)] Anne is young.[(triple3 OR ((((triple2) -> rule3) triple1) -> rule2))] @1: Anne is red.[(((triple1) -> rule5))] Anne is rough.[(((triple2) -> rule3))] @2: Anne is not big.[(((((triple1) -> rule5) triple1) -> rule7))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is round.
("Anne" "is" "round" "+")
triple2
Anne is young.
("Anne" "is" "young" "+")
triple3
((((triple2) -> (rule3 % int2)) triple1) -> (rule2 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
((triple2) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is not big.
("Anne" "is" "big" "-")
((((triple1) -> (rule5 % int2)) triple1) -> (rule7 % int1))
Anne is not big.
("Anne" "is" "big" "-")
int1
Anne is red.
("Anne" "is" "red" "+")
int2