Anne is not big. Anne is not kind. Anne is nice. Anne is quiet. Anne is rough. Anne is smart. Anne is young. Erin is big. Erin is kind. Erin is nice. Erin is quiet. Erin is rough. Erin is not smart. Erin is young. Quiet people are rough. If someone is quiet then they are rough. If someone is young and not kind then they are quiet. If Anne is big then Anne is not smart. All kind people are young. Kind, big people are nice.
Anne is not big.
("Anne" "is" "big" "-")
Anne is not kind.
("Anne" "is" "kind" "-")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is young.
("Anne" "is" "young" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is not smart.
("Erin" "is" "smart" "-")
Erin is young.
("Erin" "is" "young" "+")
Quiet people are rough.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "rough" "+"))
If someone is quiet then they are rough.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "rough" "+"))
If someone is young and not kind then they are quiet.
((("someone" "is" "young" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "quiet" "+"))
If Anne is big then Anne is not smart.
((("Anne" "is" "big" "+")) -> ("Anne" "is" "smart" "-"))
All kind people are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Kind, big people are nice.
((("someone" "is" "kind" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
Anne is nice.
True
1
proof
[(triple3)]
("Anne" "is" "nice" "+")
triple3
Anne is not nice.
False
1
inv-proof
[(triple3)]
("Anne" "is" "nice" "-")
triple3
@0: Anne is nice.[(triple3)] Anne is not big.[(triple1)] Anne is not kind.[(triple2)] Anne is quiet.[(triple4 OR ((triple7 triple2) -> rule3))] Anne is rough.[(triple5 OR ((triple4) -> rule1) OR ((triple4) -> rule2) OR ((((triple7 triple2) -> rule3)) -> rule1) OR ((((triple7 triple2) -> rule3)) -> rule2))] Anne is smart.[(triple6)] Anne is young.[(triple7)] Erin is big.[(triple8)] Erin is kind.[(triple9)] Erin is nice.[(triple10 OR ((triple9 triple8) -> rule6))] Erin is not smart.[(triple13)] Erin is quiet.[(triple11)] Erin is rough.[(triple12 OR ((triple11) -> rule1) OR ((triple11) -> rule2))] Erin is young.[(triple14 OR ((triple9) -> rule5))]
Anne is nice.
("Anne" "is" "nice" "+")
triple3
Anne is not big.
("Anne" "is" "big" "-")
triple1
Anne is not kind.
("Anne" "is" "kind" "-")
triple2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
((triple7 triple2) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple4) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((triple4) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple7 triple2) -> (rule3 % int2))) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
((((triple7 triple2) -> (rule3 % int2))) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
triple6
Anne is young.
("Anne" "is" "young" "+")
triple7
Erin is big.
("Erin" "is" "big" "+")
triple8
Erin is kind.
("Erin" "is" "kind" "+")
triple9
Erin is nice.
("Erin" "is" "nice" "+")
triple10
((triple9 triple8) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is not smart.
("Erin" "is" "smart" "-")
triple13
Erin is quiet.
("Erin" "is" "quiet" "+")
triple11
Erin is rough.
("Erin" "is" "rough" "+")
triple12
((triple11) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((triple11) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
triple14
((triple9) -> (rule5 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1