Bob is blue. Bob is cold. Bob is furry. Bob is green. Bob is round. Bob is smart. Bob is white. Round people are white. If someone is smart then they are furry. All furry, green people are white.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Round people are white.
((("someone" "is" "round" "+")) -> ("someone" "is" "white" "+"))
If someone is smart then they are furry.
((("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
All furry, green people are white.
((("someone" "is" "furry" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "white" "+"))
Bob is blue.
True
1
proof
[(triple1)]
("Bob" "is" "blue" "+")
triple1
Bob is not round.
False
1
inv-proof
[(triple5)]
("Bob" "is" "round" "-")
triple5
@0: Bob is blue.[(triple1)] Bob is cold.[(triple2)] Bob is furry.[(triple3 OR ((triple6) -> rule2))] Bob is green.[(triple4)] Bob is round.[(triple5)] Bob is smart.[(triple6)] Bob is white.[(triple7 OR ((triple5) -> rule1) OR ((triple3 triple4) -> rule3) OR ((((triple6) -> rule2) triple4) -> rule3))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is furry.
("Bob" "is" "furry" "+")
triple3
((triple6) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
Bob is smart.
("Bob" "is" "smart" "+")
triple6
Bob is white.
("Bob" "is" "white" "+")
triple7
((triple5) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple3 triple4) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((triple6) -> (rule2 % int2)) triple4) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2