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