Bob is big. Bob is blue. Bob is furry. Bob is green. Bob is red. Bob is rough. Bob is smart. Gary is big. Gary is blue. Gary is furry. Gary is green. Gary is red. Gary is rough. Gary is smart. If Bob is rough then Bob is red. All smart, furry people are green. All rough people are furry. Furry, rough people are smart. If someone is blue then they are furry. If someone is furry and smart then they are blue.
Bob is big.
("Bob" "is" "big" "+")
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 rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is smart.
("Gary" "is" "smart" "+")
If Bob is rough then Bob is red.
((("Bob" "is" "rough" "+")) -> ("Bob" "is" "red" "+"))
All smart, furry people are green.
((("someone" "is" "smart" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "green" "+"))
All rough people are furry.
((("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
Furry, rough people are smart.
((("someone" "is" "furry" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
If someone is blue then they are furry.
((("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry and smart then they are blue.
((("someone" "is" "furry" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
Bob is rough.
True
1
proof
[(triple6)]
("Bob" "is" "rough" "+")
triple6
Gary is not furry.
False
1
inv-proof
[(triple10 OR ((triple13) -> rule3) OR ((triple9) -> rule5))]
("Gary" "is" "furry" "-")
triple10
((triple13) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple9) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
@0: Bob is big.[(triple1)] Bob is blue.[(triple2 OR ((triple3 triple7) -> rule6) OR ((triple3 ((triple3 triple6) -> rule4)) -> rule6) OR ((((triple6) -> rule3) triple7) -> rule6) OR ((((triple6) -> rule3) ((triple3 triple6) -> rule4)) -> rule6) OR ((triple3 ((((triple6) -> rule3) triple6) -> rule4)) -> rule6) OR ((((triple6) -> rule3) ((((triple6) -> rule3) triple6) -> rule4)) -> rule6))] Bob is furry.[(triple3 OR ((triple2) -> rule5) OR ((triple6) -> rule3))] Bob is green.[(triple4 OR ((triple7 triple3) -> rule2) OR ((triple7 ((triple2) -> rule5)) -> rule2) OR ((triple7 ((triple6) -> rule3)) -> rule2) OR ((((triple3 triple6) -> rule4) triple3) -> rule2) OR ((((triple3 triple6) -> rule4) ((triple2) -> rule5)) -> rule2) OR ((((triple3 triple6) -> rule4) ((triple6) -> rule3)) -> rule2) OR ((((((triple2) -> rule5) triple6) -> rule4) triple3) -> rule2) OR ((((((triple6) -> rule3) triple6) -> rule4) triple3) -> rule2) OR ((((((triple2) -> rule5) triple6) -> rule4) ((triple2) -> rule5)) -> rule2) OR ((((((triple2) -> rule5) triple6) -> rule4) ((triple6) -> rule3)) -> rule2) OR ((((((triple6) -> rule3) triple6) -> rule4) ((triple2) -> rule5)) -> rule2) OR ((((((triple6) -> rule3) triple6) -> rule4) ((triple6) -> rule3)) -> rule2))] Bob is red.[(triple5 OR ((triple6) -> rule1))] Bob is rough.[(triple6)] Bob is smart.[(triple7 OR ((triple3 triple6) -> rule4) OR ((((triple2) -> rule5) triple6) -> rule4) OR ((((triple6) -> rule3) triple6) -> rule4))] Gary is big.[(triple8)] Gary is blue.[(triple9 OR ((triple10 triple14) -> rule6) OR ((triple10 ((triple10 triple13) -> rule4)) -> rule6) OR ((((triple13) -> rule3) triple14) -> rule6) OR ((((triple13) -> rule3) ((triple10 triple13) -> rule4)) -> rule6) OR ((triple10 ((((triple13) -> rule3) triple13) -> rule4)) -> rule6) OR ((((triple13) -> rule3) ((((triple13) -> rule3) triple13) -> rule4)) -> rule6))] Gary is furry.[(triple10 OR ((triple13) -> rule3) OR ((triple9) -> rule5))] Gary is green.[(triple11 OR ((triple14 triple10) -> rule2) OR ((triple14 ((triple13) -> rule3)) -> rule2) OR ((triple14 ((triple9) -> rule5)) -> rule2) OR ((((triple10 triple13) -> rule4) triple10) -> rule2) OR ((((triple10 triple13) -> rule4) ((triple13) -> rule3)) -> rule2) OR ((((triple10 triple13) -> rule4) ((triple9) -> rule5)) -> rule2) OR ((((((triple13) -> rule3) triple13) -> rule4) triple10) -> rule2) OR ((((((triple9) -> rule5) triple13) -> rule4) triple10) -> rule2) OR ((((((triple13) -> rule3) triple13) -> rule4) ((triple13) -> rule3)) -> rule2) OR ((((((triple13) -> rule3) triple13) -> rule4) ((triple9) -> rule5)) -> rule2) OR ((((((triple9) -> rule5) triple13) -> rule4) ((triple13) -> rule3)) -> rule2) OR ((((((triple9) -> rule5) triple13) -> rule4) ((triple9) -> rule5)) -> rule2))] Gary is red.[(triple12)] Gary is rough.[(triple13)] Gary is smart.[(triple14 OR ((triple10 triple13) -> rule4) OR ((((triple13) -> rule3) triple13) -> rule4) OR ((((triple9) -> rule5) triple13) -> rule4))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple3 triple7) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple3 ((triple3 triple6) -> (rule4 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple6) -> (rule3 % int2)) triple7) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((triple6) -> (rule3 % int3)) ((triple3 triple6) -> (rule4 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((triple3 ((((triple6) -> (rule3 % int3)) triple6) -> (rule4 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((triple6) -> (rule3 % int3)) ((((triple6) -> (rule3 % int3)) triple6) -> (rule4 % int2))) -> (rule6 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
triple3
((triple2) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((triple6) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
triple4
((triple7 triple3) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((triple7 ((triple2) -> (rule5 % int2))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((triple7 ((triple6) -> (rule3 % int2))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((triple3 triple6) -> (rule4 % int2)) triple3) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple3 triple6) -> (rule4 % int3)) ((triple2) -> (rule5 % int2))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((triple3 triple6) -> (rule4 % int3)) ((triple6) -> (rule3 % int2))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple2) -> (rule5 % int3)) triple6) -> (rule4 % int2)) triple3) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((((triple6) -> (rule3 % int3)) triple6) -> (rule4 % int2)) triple3) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((((triple2) -> (rule5 % int3)) triple6) -> (rule4 % int2)) ((triple2) -> (rule5 % int3))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((((triple2) -> (rule5 % int3)) triple6) -> (rule4 % int2)) ((triple6) -> (rule3 % int3))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((((triple6) -> (rule3 % int3)) triple6) -> (rule4 % int2)) ((triple2) -> (rule5 % int3))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
((((((triple6) -> (rule3 % int3)) triple6) -> (rule4 % int2)) ((triple6) -> (rule3 % int3))) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
triple5
((triple6) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
triple6
Bob is smart.
("Bob" "is" "smart" "+")
triple7
((triple3 triple6) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((triple2) -> (rule5 % int2)) triple6) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
((((triple6) -> (rule3 % int2)) triple6) -> (rule4 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
triple8
Gary is blue.
("Gary" "is" "blue" "+")
triple9
((triple10 triple14) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((triple10 ((triple10 triple13) -> (rule4 % int2))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((triple13) -> (rule3 % int2)) triple14) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple13) -> (rule3 % int3)) ((triple10 triple13) -> (rule4 % int2))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((triple10 ((((triple13) -> (rule3 % int3)) triple13) -> (rule4 % int2))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((triple13) -> (rule3 % int3)) ((((triple13) -> (rule3 % int3)) triple13) -> (rule4 % int2))) -> (rule6 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
triple10
((triple13) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple9) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
triple11
((triple14 triple10) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
((triple14 ((triple13) -> (rule3 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((triple14 ((triple9) -> (rule5 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple10 triple13) -> (rule4 % int2)) triple10) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
((((triple10 triple13) -> (rule4 % int3)) ((triple13) -> (rule3 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((triple10 triple13) -> (rule4 % int3)) ((triple9) -> (rule5 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
int3
((((((triple13) -> (rule3 % int3)) triple13) -> (rule4 % int2)) triple10) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple9) -> (rule5 % int3)) triple13) -> (rule4 % int2)) triple10) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple13) -> (rule3 % int3)) triple13) -> (rule4 % int2)) ((triple13) -> (rule3 % int3))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple13) -> (rule3 % int3)) triple13) -> (rule4 % int2)) ((triple9) -> (rule5 % int3))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple9) -> (rule5 % int3)) triple13) -> (rule4 % int2)) ((triple13) -> (rule3 % int3))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple9) -> (rule5 % int3)) triple13) -> (rule4 % int2)) ((triple9) -> (rule5 % int3))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
triple12
Gary is rough.
("Gary" "is" "rough" "+")
triple13
Gary is smart.
("Gary" "is" "smart" "+")
triple14
((triple10 triple13) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
((((triple13) -> (rule3 % int2)) triple13) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple9) -> (rule5 % int2)) triple13) -> (rule4 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2