Bob is furry. Bob is green. Bob is red. Bob is rough. Charlie is not big. Charlie is furry. Charlie is green. Charlie is nice. Charlie is not rough. Charlie is smart. Red, green things are not nice. Big, nice things are furry. Big, rough things are green. If something is big and not red then it is not green. Smart things are not rough. All rough, nice things are not big.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Charlie is not big.
("Charlie" "is" "big" "-")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is not rough.
("Charlie" "is" "rough" "-")
Charlie is smart.
("Charlie" "is" "smart" "+")
Red, green things are not nice.
((("something" "is" "red" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "-"))
Big, nice things are furry.
((("something" "is" "big" "+") ("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
Big, rough things are green.
((("something" "is" "big" "+") ("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
If something is big and not red then it is not green.
((("something" "is" "big" "+") ("something" "is" "red" "~")) -> ("something" "is" "green" "-"))
Smart things are not rough.
((("something" "is" "smart" "+")) -> ("something" "is" "rough" "-"))
All rough, nice things are not big.
((("something" "is" "rough" "+") ("something" "is" "nice" "+")) -> ("something" "is" "big" "-"))
Charlie is not rough.
True
1
proof
[(triple9 OR ((triple10) -> rule5))]
("Charlie" "is" "rough" "-")
triple9
((triple10) -> (rule5 % int1))
Charlie is not rough.
("Charlie" "is" "rough" "-")
int1
Charlie is not green.
False
1
inv-proof
[(triple7)]
("Charlie" "is" "green" "-")
triple7
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Charlie is red.
Unknown
random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "+")
@0: Bob is furry.[(triple1)] Bob is green.[(triple2)] Bob is red.[(triple3)] Bob is rough.[(triple4)] Charlie is furry.[(triple6)] Charlie is green.[(triple7)] Charlie is nice.[(triple8)] Charlie is not big.[(triple5)] Charlie is not rough.[(triple9 OR ((triple10) -> rule5))] Charlie is smart.[(triple10)] @1: Bob is not nice.[(((triple3 triple2) -> rule1))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
Charlie is green.
("Charlie" "is" "green" "+")
triple7
Charlie is nice.
("Charlie" "is" "nice" "+")
triple8
Charlie is not big.
("Charlie" "is" "big" "-")
triple5
Charlie is not rough.
("Charlie" "is" "rough" "-")
triple9
((triple10) -> (rule5 % int1))
Charlie is not rough.
("Charlie" "is" "rough" "-")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple10
Bob is not nice.
("Bob" "is" "nice" "-")
((triple3 triple2) -> (rule1 % int1))
Bob is not nice.
("Bob" "is" "nice" "-")
int1