Erin is blue. Erin is furry. Erin is nice. Erin is rough. Erin is white. Gary is blue. Gary is cold. Gary is furry. Gary is nice. Gary is rough. Gary is white. Gary is young. If Erin is rough and Erin is young then Erin is blue. Cold people are furry. White people are young.
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is white.
("Erin" "is" "white" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
If Erin is rough and Erin is young then Erin is blue.
((("Erin" "is" "rough" "+") ("Erin" "is" "young" "+")) -> ("Erin" "is" "blue" "+"))
Cold people are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
White people are young.
((("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
Erin is blue.
True
1
proof
[(triple1 OR ((triple4 ((triple5) -> rule3)) -> rule1))]
("Erin" "is" "blue" "+")
triple1
((triple4 ((triple5) -> (rule3 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Gary is not furry.
False
1
inv-proof
[(triple8 OR ((triple7) -> rule2))]
("Gary" "is" "furry" "-")
triple8
((triple7) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
@0: Erin is blue.[(triple1 OR ((triple4 ((triple5) -> rule3)) -> rule1))] Erin is furry.[(triple2)] Erin is nice.[(triple3)] Erin is rough.[(triple4)] Erin is white.[(triple5)] Gary is blue.[(triple6)] Gary is cold.[(triple7)] Gary is furry.[(triple8 OR ((triple7) -> rule2))] Gary is nice.[(triple9)] Gary is rough.[(triple10)] Gary is white.[(triple11)] Gary is young.[(triple12 OR ((triple11) -> rule3))] @1: Erin is young.[(((triple5) -> rule3))]
Erin is blue.
("Erin" "is" "blue" "+")
triple1
((triple4 ((triple5) -> (rule3 % int2))) -> (rule1 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple2
Erin is nice.
("Erin" "is" "nice" "+")
triple3
Erin is rough.
("Erin" "is" "rough" "+")
triple4
Erin is white.
("Erin" "is" "white" "+")
triple5
Gary is blue.
("Gary" "is" "blue" "+")
triple6
Gary is cold.
("Gary" "is" "cold" "+")
triple7
Gary is furry.
("Gary" "is" "furry" "+")
triple8
((triple7) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple9
Gary is rough.
("Gary" "is" "rough" "+")
triple10
Gary is white.
("Gary" "is" "white" "+")
triple11
Gary is young.
("Gary" "is" "young" "+")
triple12
((triple11) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple5) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1