Bob is blue. Bob is furry. Bob is green. Bob is red. Bob is round. Bob is white. Bob is young. If someone is young and white then they are furry. All blue people are round. If someone is white then they are round. If Bob is young and Bob is green then Bob is blue. White, green people are red. If someone is green and young then they are red. If someone is green and furry then they are white. All green people are blue.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
If someone is young and white then they are furry.
((("someone" "is" "young" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "furry" "+"))
All blue people are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
If someone is white then they are round.
((("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
If Bob is young and Bob is green then Bob is blue.
((("Bob" "is" "young" "+") ("Bob" "is" "green" "+")) -> ("Bob" "is" "blue" "+"))
White, green people are red.
((("someone" "is" "white" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
If someone is green and young then they are red.
((("someone" "is" "green" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
If someone is green and furry then they are white.
((("someone" "is" "green" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "white" "+"))
All green people are blue.
((("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
Bob is green.
True
1
proof
[(triple3)]
("Bob" "is" "green" "+")
triple3
Bob is not red.
False
1
inv-proof
[(triple4 OR ((triple3 triple7) -> rule6) OR ((triple6 triple3) -> rule5) OR ((((triple3 triple2) -> rule7) triple3) -> rule5))]
("Bob" "is" "red" "-")
triple4
((triple3 triple7) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple6 triple3) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((triple3 triple2) -> (rule7 % int2)) triple3) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
@0: Bob is blue.[(triple1 OR ((triple3) -> rule8) OR ((triple7 triple3) -> rule4))] Bob is furry.[(triple2 OR ((triple7 triple6) -> rule1))] Bob is green.[(triple3)] Bob is red.[(triple4 OR ((triple3 triple7) -> rule6) OR ((triple6 triple3) -> rule5) OR ((((triple3 triple2) -> rule7) triple3) -> rule5))] Bob is round.[(triple5 OR ((triple1) -> rule2) OR ((triple6) -> rule3) OR ((((triple3) -> rule8)) -> rule2) OR ((((triple3 triple2) -> rule7)) -> rule3) OR ((((triple7 triple3) -> rule4)) -> rule2))] Bob is white.[(triple6 OR ((triple3 triple2) -> rule7))] Bob is young.[(triple7)]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
((triple3) -> (rule8 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple7 triple3) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple7 triple6) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is red.
("Bob" "is" "red" "+")
triple4
((triple3 triple7) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple6 triple3) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((((triple3 triple2) -> (rule7 % int2)) triple3) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple1) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple6) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple3) -> (rule8 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple3 triple2) -> (rule7 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((triple7 triple3) -> (rule4 % int2))) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple6
((triple3 triple2) -> (rule7 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple7