Anne is big. Anne is green. Anne is kind. Anne is smart. Anne is white. Harry is big. Harry is green. Harry is kind. Harry is nice. Harry is red. Harry is smart. Harry is white. Nice people are white. If someone is green and kind then they are smart. If Harry is red then Harry is white. If Harry is smart then Harry is nice. If someone is smart then they are red. White people are smart. If someone is nice and big then they are kind. All big people are nice.
Anne is big.
("Anne" "is" "big" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is white.
("Anne" "is" "white" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is white.
("Harry" "is" "white" "+")
Nice people are white.
((("someone" "is" "nice" "+")) -> ("someone" "is" "white" "+"))
If someone is green and kind then they are smart.
((("someone" "is" "green" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "smart" "+"))
If Harry is red then Harry is white.
((("Harry" "is" "red" "+")) -> ("Harry" "is" "white" "+"))
If Harry is smart then Harry is nice.
((("Harry" "is" "smart" "+")) -> ("Harry" "is" "nice" "+"))
If someone is smart then they are red.
((("someone" "is" "smart" "+")) -> ("someone" "is" "red" "+"))
White people are smart.
((("someone" "is" "white" "+")) -> ("someone" "is" "smart" "+"))
If someone is nice and big then they are kind.
((("someone" "is" "nice" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
All big people are nice.
((("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
Harry is nice.
True
1
proof
[(triple9 OR ((triple11) -> rule4) OR ((triple6) -> rule8) OR ((((triple12) -> rule6)) -> rule4) OR ((((triple7 triple8) -> rule2)) -> rule4) OR ((((((triple10) -> rule3)) -> rule6)) -> rule4))]
("Harry" "is" "nice" "+")
triple9
((triple11) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((triple6) -> (rule8 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((((triple12) -> (rule6 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple7 triple8) -> (rule2 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((((triple10) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is not kind.
False
1
inv-proof
[(triple8 OR ((triple9 triple6) -> rule7) OR ((((triple11) -> rule4) triple6) -> rule7) OR ((((triple6) -> rule8) triple6) -> rule7) OR ((((((triple12) -> rule6)) -> rule4) triple6) -> rule7) OR ((((((((triple10) -> rule3)) -> rule6)) -> rule4) triple6) -> rule7))]
("Harry" "is" "kind" "-")
triple8
((triple9 triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((((triple11) -> (rule4 % int2)) triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((triple6) -> (rule8 % int2)) triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((((triple12) -> (rule6 % int3))) -> (rule4 % int2)) triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
((((((((triple10) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule4 % int2)) triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
@0: Anne is big.[(triple1)] Anne is green.[(triple2)] Anne is kind.[(triple3 OR ((((triple1) -> rule8) triple1) -> rule7))] Anne is smart.[(triple4 OR ((triple5) -> rule6) OR ((triple2 triple3) -> rule2) OR ((((((triple1) -> rule8)) -> rule1)) -> rule6) OR ((triple2 ((((triple1) -> rule8) triple1) -> rule7)) -> rule2))] Anne is white.[(triple5 OR ((((triple1) -> rule8)) -> rule1))] Harry is big.[(triple6)] Harry is green.[(triple7)] Harry is kind.[(triple8 OR ((triple9 triple6) -> rule7) OR ((((triple11) -> rule4) triple6) -> rule7) OR ((((triple6) -> rule8) triple6) -> rule7) OR ((((((triple12) -> rule6)) -> rule4) triple6) -> rule7) OR ((((((((triple10) -> rule3)) -> rule6)) -> rule4) triple6) -> rule7))] Harry is nice.[(triple9 OR ((triple11) -> rule4) OR ((triple6) -> rule8) OR ((((triple12) -> rule6)) -> rule4) OR ((((triple7 triple8) -> rule2)) -> rule4) OR ((((((triple10) -> rule3)) -> rule6)) -> rule4))] Harry is red.[(triple10 OR ((triple11) -> rule5) OR ((((triple12) -> rule6)) -> rule5) OR ((((triple7 triple8) -> rule2)) -> rule5) OR ((((((triple9) -> rule1)) -> rule6)) -> rule5) OR ((((triple7 ((triple9 triple6) -> rule7)) -> rule2)) -> rule5) OR ((((((((triple6) -> rule8)) -> rule1)) -> rule6)) -> rule5) OR ((((triple7 ((((triple6) -> rule8) triple6) -> rule7)) -> rule2)) -> rule5))] Harry is smart.[(triple11 OR ((triple12) -> rule6) OR ((triple7 triple8) -> rule2) OR ((((triple10) -> rule3)) -> rule6) OR ((((triple9) -> rule1)) -> rule6) OR ((triple7 ((triple9 triple6) -> rule7)) -> rule2) OR ((((((triple6) -> rule8)) -> rule1)) -> rule6) OR ((triple7 ((((triple6) -> rule8) triple6) -> rule7)) -> rule2))] Harry is white.[(triple12 OR ((triple10) -> rule3) OR ((triple9) -> rule1) OR ((((triple11) -> rule4)) -> rule1) OR ((((triple11) -> rule5)) -> rule3) OR ((((triple6) -> rule8)) -> rule1) OR ((((((triple7 triple8) -> rule2)) -> rule4)) -> rule1) OR ((((((triple7 triple8) -> rule2)) -> rule5)) -> rule3) OR ((((((triple7 ((triple9 triple6) -> rule7)) -> rule2)) -> rule5)) -> rule3) OR ((((((triple7 ((((triple6) -> rule8) triple6) -> rule7)) -> rule2)) -> rule5)) -> rule3))] @1: Anne is nice.[(((triple1) -> rule8))] Anne is red.[(((triple4) -> rule5) OR ((((triple5) -> rule6)) -> rule5) OR ((((triple2 triple3) -> rule2)) -> rule5) OR ((((((((triple1) -> rule8)) -> rule1)) -> rule6)) -> rule5) OR ((((triple2 ((((triple1) -> rule8) triple1) -> rule7)) -> rule2)) -> rule5))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Anne is kind.
("Anne" "is" "kind" "+")
triple3
((((triple1) -> (rule8 % int2)) triple1) -> (rule7 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
triple4
((triple5) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
((triple2 triple3) -> (rule2 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
((((((triple1) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
((triple2 ((((triple1) -> (rule8 % int3)) triple1) -> (rule7 % int2))) -> (rule2 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
triple5
((((triple1) -> (rule8 % int2))) -> (rule1 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
triple6
Harry is green.
("Harry" "is" "green" "+")
triple7
Harry is kind.
("Harry" "is" "kind" "+")
triple8
((triple9 triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((((triple11) -> (rule4 % int2)) triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((triple6) -> (rule8 % int2)) triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((((triple12) -> (rule6 % int3))) -> (rule4 % int2)) triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
((((((((triple10) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule4 % int2)) triple6) -> (rule7 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
triple9
((triple11) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((triple6) -> (rule8 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((((triple12) -> (rule6 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple7 triple8) -> (rule2 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((((triple10) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
triple10
((triple11) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((triple12) -> (rule6 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((triple7 triple8) -> (rule2 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
((((((triple9) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
((((triple7 ((triple9 triple6) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((((((((triple6) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
((((triple7 ((((triple6) -> (rule8 % int4)) triple6) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Harry is smart.
("Harry" "is" "smart" "+")
triple11
((triple12) -> (rule6 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((triple7 triple8) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((((triple10) -> (rule3 % int2))) -> (rule6 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((triple9) -> (rule1 % int2))) -> (rule6 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((triple7 ((triple9 triple6) -> (rule7 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((((triple6) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
((triple7 ((((triple6) -> (rule8 % int3)) triple6) -> (rule7 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
triple12
((triple10) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((triple9) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((((triple11) -> (rule4 % int2))) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((triple11) -> (rule5 % int2))) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((((triple6) -> (rule8 % int2))) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((((triple7 triple8) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
((((((triple7 triple8) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
((((((triple7 ((triple9 triple6) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
((((((triple7 ((((triple6) -> (rule8 % int5)) triple6) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
int5
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule8 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple4) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((((triple5) -> (rule6 % int2))) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
((((triple2 triple3) -> (rule2 % int2))) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
((((((((triple1) -> (rule8 % int4))) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
((((triple2 ((((triple1) -> (rule8 % int4)) triple1) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4