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