Bob is big. Bob is nice. Bob is white. All nice, green people are round. White people are green. If Bob is big and Bob is white then Bob is round. If someone is nice and round then they are green. If Bob is nice and Bob is big then Bob is round. All green, smart people are kind. If Bob is smart then Bob is nice. If someone is big then they are smart.
Bob is big.
("Bob" "is" "big" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is white.
("Bob" "is" "white" "+")
All nice, green people are round.
((("someone" "is" "nice" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "round" "+"))
White people are green.
((("someone" "is" "white" "+")) -> ("someone" "is" "green" "+"))
If Bob is big and Bob is white then Bob is round.
((("Bob" "is" "big" "+") ("Bob" "is" "white" "+")) -> ("Bob" "is" "round" "+"))
If someone is nice and round then they are green.
((("someone" "is" "nice" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
If Bob is nice and Bob is big then Bob is round.
((("Bob" "is" "nice" "+") ("Bob" "is" "big" "+")) -> ("Bob" "is" "round" "+"))
All green, smart people are kind.
((("someone" "is" "green" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "kind" "+"))
If Bob is smart then Bob is nice.
((("Bob" "is" "smart" "+")) -> ("Bob" "is" "nice" "+"))
If someone is big then they are smart.
((("someone" "is" "big" "+")) -> ("someone" "is" "smart" "+"))
Bob is nice.
True
1
proof
[(triple2 OR ((((triple1) -> rule8)) -> rule7))]
("Bob" "is" "nice" "+")
triple2
((((triple1) -> (rule8 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is not nice.
False
1
inv-proof
[(triple2 OR ((((triple1) -> rule8)) -> rule7))]
("Bob" "is" "nice" "-")
triple2
((((triple1) -> (rule8 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is green.
True
2
proof
[(((triple3) -> rule2) OR ((triple2 ((triple1 triple3) -> rule3)) -> rule4) OR ((triple2 ((triple2 triple1) -> rule5)) -> rule4) OR ((((((triple1) -> rule8)) -> rule7) ((triple1 triple3) -> rule3)) -> rule4) OR ((((((triple1) -> rule8)) -> rule7) ((triple2 triple1) -> rule5)) -> rule4) OR ((triple2 ((((((triple1) -> rule8)) -> rule7) triple1) -> rule5)) -> rule4) OR ((((((triple1) -> rule8)) -> rule7) ((((((triple1) -> rule8)) -> rule7) triple1) -> rule5)) -> rule4))]
("Bob" "is" "green" "+")
((triple3) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((triple2 ((triple1 triple3) -> (rule3 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((triple2 ((triple2 triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) ((triple1 triple3) -> (rule3 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) ((triple2 triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((triple2 ((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) ((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Bob is not round.
False
3
inv-proof
[(((triple1 triple3) -> rule3) OR ((triple2 triple1) -> rule5) OR ((triple2 ((triple3) -> rule2)) -> rule1) OR ((((((triple1) -> rule8)) -> rule7) triple1) -> rule5) OR ((((((triple1) -> rule8)) -> rule7) ((triple3) -> rule2)) -> rule1))]
("Bob" "is" "round" "-")
((triple1 triple3) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 triple1) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((((triple1) -> (rule8 % int3))) -> (rule7 % int2)) triple1) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
@0: Bob is big.[(triple1)] Bob is nice.[(triple2 OR ((((triple1) -> rule8)) -> rule7))] Bob is white.[(triple3)] @1: Bob is green.[(((triple3) -> rule2) OR ((triple2 ((triple1 triple3) -> rule3)) -> rule4) OR ((triple2 ((triple2 triple1) -> rule5)) -> rule4) OR ((((((triple1) -> rule8)) -> rule7) ((triple1 triple3) -> rule3)) -> rule4) OR ((((((triple1) -> rule8)) -> rule7) ((triple2 triple1) -> rule5)) -> rule4) OR ((triple2 ((((((triple1) -> rule8)) -> rule7) triple1) -> rule5)) -> rule4) OR ((((((triple1) -> rule8)) -> rule7) ((((((triple1) -> rule8)) -> rule7) triple1) -> rule5)) -> rule4))] Bob is round.[(((triple1 triple3) -> rule3) OR ((triple2 triple1) -> rule5) OR ((triple2 ((triple3) -> rule2)) -> rule1) OR ((((((triple1) -> rule8)) -> rule7) triple1) -> rule5) OR ((((((triple1) -> rule8)) -> rule7) ((triple3) -> rule2)) -> rule1))] Bob is smart.[(((triple1) -> rule8))] @2: Bob is kind.[(((((triple3) -> rule2) ((triple1) -> rule8)) -> rule6) OR ((((triple2 ((triple1 triple3) -> rule3)) -> rule4) ((triple1) -> rule8)) -> rule6) OR ((((triple2 ((triple2 triple1) -> rule5)) -> rule4) ((triple1) -> rule8)) -> rule6) OR ((((((((triple1) -> rule8)) -> rule7) ((triple1 triple3) -> rule3)) -> rule4) ((triple1) -> rule8)) -> rule6) OR ((((((((triple1) -> rule8)) -> rule7) ((triple2 triple1) -> rule5)) -> rule4) ((triple1) -> rule8)) -> rule6) OR ((((triple2 ((((((triple1) -> rule8)) -> rule7) triple1) -> rule5)) -> rule4) ((triple1) -> rule8)) -> rule6) OR ((((((((triple1) -> rule8)) -> rule7) ((((((triple1) -> rule8)) -> rule7) triple1) -> rule5)) -> rule4) ((triple1) -> rule8)) -> rule6))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((((triple1) -> (rule8 % int2))) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple3
Bob is green.
("Bob" "is" "green" "+")
((triple3) -> (rule2 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((triple2 ((triple1 triple3) -> (rule3 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((triple2 ((triple2 triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) ((triple1 triple3) -> (rule3 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) ((triple2 triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((triple2 ((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) ((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) triple1) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Bob is round.
("Bob" "is" "round" "+")
((triple1 triple3) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 triple1) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((((triple1) -> (rule8 % int3))) -> (rule7 % int2)) triple1) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1) -> (rule8 % int4))) -> (rule7 % int3)) ((triple3) -> (rule2 % int2))) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
((triple1) -> (rule8 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((((triple3) -> (rule2 % int3)) ((triple1) -> (rule8 % int2))) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple2 ((triple1 triple3) -> (rule3 % int4))) -> (rule4 % int3)) ((triple1) -> (rule8 % int2))) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((triple2 ((triple2 triple1) -> (rule5 % int4))) -> (rule4 % int3)) ((triple1) -> (rule8 % int2))) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((((((triple1) -> (rule8 % int5))) -> (rule7 % int4)) ((triple1 triple3) -> (rule3 % int3))) -> (rule4 % int2)) ((triple1) -> (rule8 % int5))) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
int5
((((((((triple1) -> (rule8 % int5))) -> (rule7 % int4)) ((triple2 triple1) -> (rule5 % int3))) -> (rule4 % int2)) ((triple1) -> (rule8 % int5))) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
int5
((((triple2 ((((((triple1) -> (rule8 % int5))) -> (rule7 % int4)) triple1) -> (rule5 % int3))) -> (rule4 % int2)) ((triple1) -> (rule8 % int5))) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
int5
((((((((triple1) -> (rule8 % int5))) -> (rule7 % int4)) ((((((triple1) -> (rule8 % int5))) -> (rule7 % int4)) triple1) -> (rule5 % int3))) -> (rule4 % int2)) ((triple1) -> (rule8 % int5))) -> (rule6 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
int5