Bob is not big. Bob is blue. Bob is cold. Bob is furry. Bob is rough. Bob is not round. Bob is white. If something is round and blue then it is furry. If something is cold and not rough then it is big. If Bob is rough then Bob is blue. If Bob is cold then Bob is blue. Furry things are cold. If Bob is white and Bob is big then Bob is furry. If something is big then it is white. Furry, big things are white.
Bob is not big.
("Bob" "is" "big" "-")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is not round.
("Bob" "is" "round" "-")
Bob is white.
("Bob" "is" "white" "+")
If something is round and blue then it is furry.
((("something" "is" "round" "+") ("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
If something is cold and not rough then it is big.
((("something" "is" "cold" "+") ("something" "is" "rough" "~")) -> ("something" "is" "big" "+"))
If Bob is rough then Bob is blue.
((("Bob" "is" "rough" "+")) -> ("Bob" "is" "blue" "+"))
If Bob is cold then Bob is blue.
((("Bob" "is" "cold" "+")) -> ("Bob" "is" "blue" "+"))
Furry things are cold.
((("something" "is" "furry" "+")) -> ("something" "is" "cold" "+"))
If Bob is white and Bob is big then Bob is furry.
((("Bob" "is" "white" "+") ("Bob" "is" "big" "+")) -> ("Bob" "is" "furry" "+"))
If something is big then it is white.
((("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
Furry, big things are white.
((("something" "is" "furry" "+") ("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
Bob is furry.
True
1
proof
[(triple4)]
("Bob" "is" "furry" "+")
triple4
Bob is not blue.
False
1
inv-proof
[(triple2 OR ((triple3) -> rule4) OR ((triple5) -> rule3) OR ((((triple4) -> rule5)) -> rule4))]
("Bob" "is" "blue" "-")
triple2
((triple3) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple5) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple4) -> (rule5 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
@0: Bob is blue.[(triple2 OR ((triple3) -> rule4) OR ((triple5) -> rule3) OR ((((triple4) -> rule5)) -> rule4))] Bob is cold.[(triple3 OR ((triple4) -> rule5))] Bob is furry.[(triple4)] Bob is not big.[(triple1)] Bob is not round.[(triple6)] Bob is rough.[(triple5)] Bob is white.[(triple7)]
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple3) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple5) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple4) -> (rule5 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
((triple4) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple4
Bob is not big.
("Bob" "is" "big" "-")
triple1
Bob is not round.
("Bob" "is" "round" "-")
triple6
Bob is rough.
("Bob" "is" "rough" "+")
triple5
Bob is white.
("Bob" "is" "white" "+")
triple7