Bob is blue. Bob is cold. Bob is furry. Bob is green. Bob is nice. Bob is rough. Bob is young. Blue people are green. If someone is blue and young then they are rough. If someone is cold then they are furry.
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 nice.
("Bob" "is" "nice" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is young.
("Bob" "is" "young" "+")
Blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
If someone is blue and young then they are rough.
((("someone" "is" "blue" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
If someone is cold then they are furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "+"))
Bob is cold.
True
1
proof
[(triple2)]
("Bob" "is" "cold" "+")
triple2
Bob is not green.
False
1
inv-proof
[(triple4 OR ((triple1) -> rule1))]
("Bob" "is" "green" "-")
triple4
((triple1) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
@0: Bob is blue.[(triple1)] Bob is cold.[(triple2)] Bob is furry.[(triple3 OR ((triple2) -> rule3))] Bob is green.[(triple4 OR ((triple1) -> rule1))] Bob is nice.[(triple5)] Bob is rough.[(triple6 OR ((triple1 triple7) -> rule2))] Bob is young.[(triple7)]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
Bob is furry.
("Bob" "is" "furry" "+")
triple3
((triple2) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple4
((triple1) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple5
Bob is rough.
("Bob" "is" "rough" "+")
triple6
((triple1 triple7) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple7