Bob is big. Bob is blue. Bob is furry. Bob is not kind. Bob is not nice. Bob is quiet. Bob is white. If Bob is furry and Bob is white then Bob is blue.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is not kind.
("Bob" "is" "kind" "-")
Bob is not nice.
("Bob" "is" "nice" "-")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is white.
("Bob" "is" "white" "+")
If Bob is furry and Bob is white then Bob is blue.
((("Bob" "is" "furry" "+") ("Bob" "is" "white" "+")) -> ("Bob" "is" "blue" "+"))
Bob is blue.
True
1
proof
[(triple2 OR ((triple3 triple7) -> rule1))]
("Bob" "is" "blue" "+")
triple2
((triple3 triple7) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is nice.
False
1
inv-proof
[(triple5)]
("Bob" "is" "nice" "+")
triple5
@0: Bob is big.[(triple1)] Bob is blue.[(triple2 OR ((triple3 triple7) -> rule1))] Bob is furry.[(triple3)] Bob is not kind.[(triple4)] Bob is not nice.[(triple5)] Bob is quiet.[(triple6)] Bob is white.[(triple7)]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple3 triple7) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple3
Bob is not kind.
("Bob" "is" "kind" "-")
triple4
Bob is not nice.
("Bob" "is" "nice" "-")
triple5
Bob is quiet.
("Bob" "is" "quiet" "+")
triple6
Bob is white.
("Bob" "is" "white" "+")
triple7