Erin is big. Erin is blue. Erin is kind. Erin is nice. Erin is red. Erin is rough. Erin is smart. If someone is rough and blue then they are big. Blue, big people are red. If someone is nice then they are red.
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is smart.
("Erin" "is" "smart" "+")
If someone is rough and blue then they are big.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
Blue, big people are red.
((("someone" "is" "blue" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "red" "+"))
If someone is nice then they are red.
((("someone" "is" "nice" "+")) -> ("someone" "is" "red" "+"))
Erin is nice.
True
1
proof
[(triple4)]
("Erin" "is" "nice" "+")
triple4
Erin is not nice.
False
1
inv-proof
[(triple4)]
("Erin" "is" "nice" "-")
triple4
@0: Erin is big.[(triple1 OR ((triple6 triple2) -> rule1))] Erin is blue.[(triple2)] Erin is kind.[(triple3)] Erin is nice.[(triple4)] Erin is red.[(triple5 OR ((triple4) -> rule3) OR ((triple2 triple1) -> rule2) OR ((triple2 ((triple6 triple2) -> rule1)) -> rule2))] Erin is rough.[(triple6)] Erin is smart.[(triple7)]
Erin is big.
("Erin" "is" "big" "+")
triple1
((triple6 triple2) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
triple2
Erin is kind.
("Erin" "is" "kind" "+")
triple3
Erin is nice.
("Erin" "is" "nice" "+")
triple4
Erin is red.
("Erin" "is" "red" "+")
triple5
((triple4) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple2 triple1) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple2 ((triple6 triple2) -> (rule1 % int2))) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
triple6
Erin is smart.
("Erin" "is" "smart" "+")
triple7