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