Charlie is big. Charlie is blue. Charlie is green. Charlie is kind. Charlie is red. Charlie is rough. Charlie is round. If something is green and red then it is rough. If something is red then it is round.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
If something is green and red then it is rough.
((("something" "is" "green" "+") ("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
If something is red then it is round.
((("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
Charlie is red.
True
1
proof
[(triple5)]
("Charlie" "is" "red" "+")
triple5
Charlie is not blue.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "blue" "-")
triple2
@0: Charlie is big.[(triple1)] Charlie is blue.[(triple2)] Charlie is green.[(triple3)] Charlie is kind.[(triple4)] Charlie is red.[(triple5)] Charlie is rough.[(triple6 OR ((triple3 triple5) -> rule1))] Charlie is round.[(triple7 OR ((triple5) -> rule2))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Charlie is green.
("Charlie" "is" "green" "+")
triple3
Charlie is kind.
("Charlie" "is" "kind" "+")
triple4
Charlie is red.
("Charlie" "is" "red" "+")
triple5
Charlie is rough.
("Charlie" "is" "rough" "+")
triple6
((triple3 triple5) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
triple7
((triple5) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1