Anne is nice. Anne is quiet. Anne is red. Gary is not cold. Gary is green. Gary is not nice. Gary is quiet. Gary is red. Gary is rough. Gary is young. If someone is young and not red then they are not nice. If Anne is nice then Anne is not cold. If someone is green then they are rough. Quiet people are rough. If someone is quiet then they are green. If someone is cold and not red then they are quiet. If someone is green and not nice then they are quiet. If someone is green and not young then they are quiet.
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Gary is not cold.
("Gary" "is" "cold" "-")
Gary is green.
("Gary" "is" "green" "+")
Gary is not nice.
("Gary" "is" "nice" "-")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is young.
("Gary" "is" "young" "+")
If someone is young and not red then they are not nice.
((("someone" "is" "young" "+") ("someone" "is" "red" "~")) -> ("someone" "is" "nice" "-"))
If Anne is nice then Anne is not cold.
((("Anne" "is" "nice" "+")) -> ("Anne" "is" "cold" "-"))
If someone is green then they are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
Quiet people are rough.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "rough" "+"))
If someone is quiet then they are green.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "green" "+"))
If someone is cold and not red then they are quiet.
((("someone" "is" "cold" "+") ("someone" "is" "red" "~")) -> ("someone" "is" "quiet" "+"))
If someone is green and not nice then they are quiet.
((("someone" "is" "green" "+") ("someone" "is" "nice" "~")) -> ("someone" "is" "quiet" "+"))
If someone is green and not young then they are quiet.
((("someone" "is" "green" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "quiet" "+"))
Gary is green.
True
1
proof
[(triple5 OR ((triple7) -> rule5))]
("Gary" "is" "green" "+")
triple5
((triple7) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is nice.
False
1
inv-proof
[(triple6)]
("Gary" "is" "nice" "+")
triple6
Anne is green.
True
2
proof
[(((triple2) -> rule5))]
("Anne" "is" "green" "+")
((triple2) -> (rule5 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is not green.
False
2
inv-proof
[(((triple2) -> rule5))]
("Anne" "is" "green" "-")
((triple2) -> (rule5 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
@0: Anne is nice.[(triple1)] Anne is quiet.[(triple2)] Anne is red.[(triple3)] Gary is green.[(triple5 OR ((triple7) -> rule5))] Gary is not cold.[(triple4)] Gary is not nice.[(triple6)] Gary is quiet.[(triple7 OR ((triple5 triple6) -> rule7))] Gary is red.[(triple8)] Gary is rough.[(triple9 OR ((triple5) -> rule3) OR ((triple7) -> rule4) OR ((((triple7) -> rule5)) -> rule3) OR ((((triple5 triple6) -> rule7)) -> rule4))] Gary is young.[(triple10)] @1: Anne is green.[(((triple2) -> rule5))] Anne is not cold.[(((triple1) -> rule2))] Anne is rough.[(((triple2) -> rule4) OR ((((triple2) -> rule5)) -> rule3))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
Anne is red.
("Anne" "is" "red" "+")
triple3
Gary is green.
("Gary" "is" "green" "+")
triple5
((triple7) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is not cold.
("Gary" "is" "cold" "-")
triple4
Gary is not nice.
("Gary" "is" "nice" "-")
triple6
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
((triple5 triple6) -> (rule7 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
triple8
Gary is rough.
("Gary" "is" "rough" "+")
triple9
((triple5) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple7) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple7) -> (rule5 % int2))) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
((((triple5 triple6) -> (rule7 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
triple10
Anne is green.
("Anne" "is" "green" "+")
((triple2) -> (rule5 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is not cold.
("Anne" "is" "cold" "-")
((triple1) -> (rule2 % int1))
Anne is not cold.
("Anne" "is" "cold" "-")
int1
Anne is rough.
("Anne" "is" "rough" "+")
((triple2) -> (rule4 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule3 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2