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