Charlie is big. Charlie is blue. Charlie is furry. Charlie is green. Charlie is nice. Charlie is rough. Charlie is round. Big things are blue. Big things are round. If Charlie is big and Charlie is not green then Charlie is round. If Charlie is not green then Charlie is blue. Blue things are furry. If Charlie is not furry and Charlie is not big then Charlie is not rough.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Big things are blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
Big things are round.
((("something" "is" "big" "+")) -> ("something" "is" "round" "+"))
If Charlie is big and Charlie is not green then Charlie is round.
((("Charlie" "is" "big" "+") ("Charlie" "is" "green" "~")) -> ("Charlie" "is" "round" "+"))
If Charlie is not green then Charlie is blue.
((("Charlie" "is" "green" "~")) -> ("Charlie" "is" "blue" "+"))
Blue things are furry.
((("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
If Charlie is not furry and Charlie is not big then Charlie is not rough.
((("Charlie" "is" "furry" "~") ("Charlie" "is" "big" "~")) -> ("Charlie" "is" "rough" "-"))
Charlie is nice.
True
1
proof
[(triple5)]
("Charlie" "is" "nice" "+")
triple5
Charlie is not nice.
False
1
inv-proof
[(triple5)]
("Charlie" "is" "nice" "-")
triple5
@0: Charlie is big.[(triple1)] Charlie is blue.[(triple2 OR ((triple1) -> rule1))] Charlie is furry.[(triple3 OR ((triple2) -> rule5) OR ((((triple1) -> rule1)) -> rule5))] Charlie is green.[(triple4)] Charlie is nice.[(triple5)] Charlie is rough.[(triple6)] Charlie is round.[(triple7 OR ((triple1) -> rule2))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
((triple1) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple3
((triple2) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Charlie is nice.
("Charlie" "is" "nice" "+")
triple5
Charlie is rough.
("Charlie" "is" "rough" "+")
triple6
Charlie is round.
("Charlie" "is" "round" "+")
triple7
((triple1) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1