Anne is big. Anne is cold. Anne is green. Anne is quiet. Anne is rough. Anne is smart. Anne is young. All smart, quiet things are green. If Anne is young and Anne is smart then Anne is cold. Smart things are big. If Anne is cold then Anne is rough. If something is big then it is smart. Quiet, cold things are young.
Anne is big.
("Anne" "is" "big" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
All smart, quiet things are green.
((("something" "is" "smart" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
If Anne is young and Anne is smart then Anne is cold.
((("Anne" "is" "young" "+") ("Anne" "is" "smart" "+")) -> ("Anne" "is" "cold" "+"))
Smart things are big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
If Anne is cold then Anne is rough.
((("Anne" "is" "cold" "+")) -> ("Anne" "is" "rough" "+"))
If something is big then it is smart.
((("something" "is" "big" "+")) -> ("something" "is" "smart" "+"))
Quiet, cold things are young.
((("something" "is" "quiet" "+") ("something" "is" "cold" "+")) -> ("something" "is" "young" "+"))
Anne is big.
True
1
proof
[(triple1 OR ((triple6) -> rule3))]
("Anne" "is" "big" "+")
triple1
((triple6) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is not quiet.
False
1
inv-proof
[(triple4)]
("Anne" "is" "quiet" "-")
triple4
@0: Anne is big.[(triple1 OR ((triple6) -> rule3))] Anne is cold.[(triple2 OR ((triple7 triple6) -> rule2) OR ((triple7 ((triple1) -> rule5)) -> rule2))] Anne is green.[(triple3 OR ((triple6 triple4) -> rule1) OR ((((triple1) -> rule5) triple4) -> rule1))] Anne is quiet.[(triple4)] Anne is rough.[(triple5 OR ((triple2) -> rule4) OR ((((triple7 triple6) -> rule2)) -> rule4) OR ((((triple7 ((triple1) -> rule5)) -> rule2)) -> rule4))] Anne is smart.[(triple6 OR ((triple1) -> rule5))] Anne is young.[(triple7 OR ((triple4 triple2) -> rule6))]
Anne is big.
("Anne" "is" "big" "+")
triple1
((triple6) -> (rule3 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
((triple7 triple6) -> (rule2 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((triple7 ((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
triple3
((triple6 triple4) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
((((triple1) -> (rule5 % int2)) triple4) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple2) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple7 triple6) -> (rule2 % int2))) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((((triple7 ((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
triple6
((triple1) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
triple7
((triple4 triple2) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1