Charlie is big. Charlie is cold. Charlie is not furry. Charlie is kind. Charlie is rough. Charlie is round. Erin is blue. Erin is cold. Erin is not furry. Erin is kind. Erin is rough. Erin is round. If Erin is furry and Erin is not big then Erin is kind. If someone is round and not rough then they are kind. If someone is cold then they are kind. If someone is rough then they are blue. Big, blue people are cold. If Charlie is round then Charlie is not furry.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is not furry.
("Charlie" "is" "furry" "-")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is not furry.
("Erin" "is" "furry" "-")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
If Erin is furry and Erin is not big then Erin is kind.
((("Erin" "is" "furry" "+") ("Erin" "is" "big" "~")) -> ("Erin" "is" "kind" "+"))
If someone is round and not rough then they are kind.
((("someone" "is" "round" "+") ("someone" "is" "rough" "~")) -> ("someone" "is" "kind" "+"))
If someone is cold then they are kind.
((("someone" "is" "cold" "+")) -> ("someone" "is" "kind" "+"))
If someone is rough then they are blue.
((("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
Big, blue people are cold.
((("someone" "is" "big" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "cold" "+"))
If Charlie is round then Charlie is not furry.
((("Charlie" "is" "round" "+")) -> ("Charlie" "is" "furry" "-"))
Erin is blue.
True
1
proof
[(triple7 OR ((triple11) -> rule4))]
("Erin" "is" "blue" "+")
triple7
((triple11) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
False
1
inv-proof
[(triple9)]
("Erin" "is" "furry" "+")
triple9
@0: Charlie is big.[(triple1)] Charlie is cold.[(triple2 OR ((triple1 ((triple5) -> rule4)) -> rule5))] Charlie is kind.[(triple4 OR ((triple2) -> rule3) OR ((((triple1 ((triple5) -> rule4)) -> rule5)) -> rule3))] Charlie is not furry.[(triple3 OR ((triple6) -> rule6))] Charlie is rough.[(triple5)] Charlie is round.[(triple6)] Erin is blue.[(triple7 OR ((triple11) -> rule4))] Erin is cold.[(triple8)] Erin is kind.[(triple10 OR ((triple8) -> rule3))] Erin is not furry.[(triple9)] Erin is rough.[(triple11)] Erin is round.[(triple12)] @1: Charlie is blue.[(((triple5) -> rule4))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
((triple1 ((triple5) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple4
((triple2) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((((triple1 ((triple5) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is not furry.
("Charlie" "is" "furry" "-")
triple3
((triple6) -> (rule6 % int1))
Charlie is not furry.
("Charlie" "is" "furry" "-")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple5
Charlie is round.
("Charlie" "is" "round" "+")
triple6
Erin is blue.
("Erin" "is" "blue" "+")
triple7
((triple11) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
triple8
Erin is kind.
("Erin" "is" "kind" "+")
triple10
((triple8) -> (rule3 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is not furry.
("Erin" "is" "furry" "-")
triple9
Erin is rough.
("Erin" "is" "rough" "+")
triple11
Erin is round.
("Erin" "is" "round" "+")
triple12
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple5) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1