Charlie is not blue. Charlie is furry. Charlie is not green. Charlie is nice. Charlie is smart. Charlie is white. Charlie is young. If something is furry then it is not green. All furry things are white. If Charlie is green then Charlie is not smart. All blue things are furry. Green, white things are furry. Blue things are smart. All green things are smart. If something is furry and not white then it is not young.
Charlie is not blue.
("Charlie" "is" "blue" "-")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is not green.
("Charlie" "is" "green" "-")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
If something is furry then it is not green.
((("something" "is" "furry" "+")) -> ("something" "is" "green" "-"))
All furry things are white.
((("something" "is" "furry" "+")) -> ("something" "is" "white" "+"))
If Charlie is green then Charlie is not smart.
((("Charlie" "is" "green" "+")) -> ("Charlie" "is" "smart" "-"))
All blue things are furry.
((("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
Green, white things are furry.
((("something" "is" "green" "+") ("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
Blue things are smart.
((("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
All green things are smart.
((("something" "is" "green" "+")) -> ("something" "is" "smart" "+"))
If something is furry and not white then it is not young.
((("something" "is" "furry" "+") ("something" "is" "white" "~")) -> ("something" "is" "young" "-"))
Charlie is not green.
True
1
proof
[(triple3 OR ((triple2) -> rule1))]
("Charlie" "is" "green" "-")
triple3
((triple2) -> (rule1 % int1))
Charlie is not green.
("Charlie" "is" "green" "-")
int1
Charlie is not furry.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "furry" "-")
triple2
@0: Charlie is furry.[(triple2)] Charlie is nice.[(triple4)] Charlie is not blue.[(triple1)] Charlie is not green.[(triple3 OR ((triple2) -> rule1))] Charlie is smart.[(triple5)] Charlie is white.[(triple6 OR ((triple2) -> rule2))] Charlie is young.[(triple7)]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Charlie is nice.
("Charlie" "is" "nice" "+")
triple4
Charlie is not blue.
("Charlie" "is" "blue" "-")
triple1
Charlie is not green.
("Charlie" "is" "green" "-")
triple3
((triple2) -> (rule1 % int1))
Charlie is not green.
("Charlie" "is" "green" "-")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple5
Charlie is white.
("Charlie" "is" "white" "+")
triple6
((triple2) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple7