Anne is blue. Anne is cold. Anne is not furry. Anne is nice. Anne is rough. Anne is round. Anne is white. Bob is cold. Bob is furry. Bob is not rough. Bob is round. Bob is not white. If something is round and not cold then it is furry. If Bob is round then Bob is blue. All furry things are not rough.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is not furry.
("Anne" "is" "furry" "-")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is white.
("Anne" "is" "white" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is not rough.
("Bob" "is" "rough" "-")
Bob is round.
("Bob" "is" "round" "+")
Bob is not white.
("Bob" "is" "white" "-")
If something is round and not cold then it is furry.
((("something" "is" "round" "+") ("something" "is" "cold" "~")) -> ("something" "is" "furry" "+"))
If Bob is round then Bob is blue.
((("Bob" "is" "round" "+")) -> ("Bob" "is" "blue" "+"))
All furry things are not rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "-"))
Bob is not rough.
True
1
proof
[(triple10 OR ((triple9) -> rule3))]
("Bob" "is" "rough" "-")
triple10
((triple9) -> (rule3 % int1))
Bob is not rough.
("Bob" "is" "rough" "-")
int1
Anne is not nice.
False
1
inv-proof
[(triple4)]
("Anne" "is" "nice" "-")
triple4
Bob is blue.
True
2
proof
[(((triple11) -> rule2))]
("Bob" "is" "blue" "+")
((triple11) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is not blue.
False
2
inv-proof
[(((triple11) -> rule2))]
("Bob" "is" "blue" "-")
((triple11) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
@0: Anne is blue.[(triple1)] Anne is cold.[(triple2)] Anne is nice.[(triple4)] Anne is not furry.[(triple3)] Anne is rough.[(triple5)] Anne is round.[(triple6)] Anne is white.[(triple7)] Bob is cold.[(triple8)] Bob is furry.[(triple9)] Bob is not rough.[(triple10 OR ((triple9) -> rule3))] Bob is not white.[(triple12)] Bob is round.[(triple11)] @1: Bob is blue.[(((triple11) -> rule2))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is nice.
("Anne" "is" "nice" "+")
triple4
Anne is not furry.
("Anne" "is" "furry" "-")
triple3
Anne is rough.
("Anne" "is" "rough" "+")
triple5
Anne is round.
("Anne" "is" "round" "+")
triple6
Anne is white.
("Anne" "is" "white" "+")
triple7
Bob is cold.
("Bob" "is" "cold" "+")
triple8
Bob is furry.
("Bob" "is" "furry" "+")
triple9
Bob is not rough.
("Bob" "is" "rough" "-")
triple10
((triple9) -> (rule3 % int1))
Bob is not rough.
("Bob" "is" "rough" "-")
int1
Bob is not white.
("Bob" "is" "white" "-")
triple12
Bob is round.
("Bob" "is" "round" "+")
triple11
Bob is blue.
("Bob" "is" "blue" "+")
((triple11) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1