Harry is big. Harry is green. Harry is nice. Harry is rough. Harry is round. Harry is white. Harry is young. If something is green then it is big. If something is white then it is round. If something is young then it is rough. If something is young then it is nice. All round things are young. All nice things are big. Round, white things are young. If Harry is round then Harry is young.
Harry is big.
("Harry" "is" "big" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
If something is green then it is big.
((("something" "is" "green" "+")) -> ("something" "is" "big" "+"))
If something is white then it is round.
((("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
If something is young then it is rough.
((("something" "is" "young" "+")) -> ("something" "is" "rough" "+"))
If something is young then it is nice.
((("something" "is" "young" "+")) -> ("something" "is" "nice" "+"))
All round things are young.
((("something" "is" "round" "+")) -> ("something" "is" "young" "+"))
All nice things are big.
((("something" "is" "nice" "+")) -> ("something" "is" "big" "+"))
Round, white things are young.
((("something" "is" "round" "+") ("something" "is" "white" "+")) -> ("something" "is" "young" "+"))
If Harry is round then Harry is young.
((("Harry" "is" "round" "+")) -> ("Harry" "is" "young" "+"))
Harry is big.
True
1
proof
[(triple1 OR ((triple2) -> rule1) OR ((triple3) -> rule6) OR ((((triple7) -> rule4)) -> rule6) OR ((((((triple5) -> rule5)) -> rule4)) -> rule6) OR ((((((triple5) -> rule8)) -> rule4)) -> rule6) OR ((((((triple5 triple6) -> rule7)) -> rule4)) -> rule6) OR ((((((((triple6) -> rule2)) -> rule5)) -> rule4)) -> rule6) OR ((((((((triple6) -> rule2)) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple6) -> rule2) triple6) -> rule7)) -> rule4)) -> rule6))]
("Harry" "is" "big" "+")
triple1
((triple2) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple3) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((((triple5) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((triple5) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((triple5 triple6) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((((triple6) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((((((((triple6) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((((((((triple6) -> (rule2 % int4)) triple6) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is not round.
False
1
inv-proof
[(triple5 OR ((triple6) -> rule2))]
("Harry" "is" "round" "-")
triple5
((triple6) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
@0: Harry is big.[(triple1 OR ((triple2) -> rule1) OR ((triple3) -> rule6) OR ((((triple7) -> rule4)) -> rule6) OR ((((((triple5) -> rule5)) -> rule4)) -> rule6) OR ((((((triple5) -> rule8)) -> rule4)) -> rule6) OR ((((((triple5 triple6) -> rule7)) -> rule4)) -> rule6) OR ((((((((triple6) -> rule2)) -> rule5)) -> rule4)) -> rule6) OR ((((((((triple6) -> rule2)) -> rule8)) -> rule4)) -> rule6) OR ((((((((triple6) -> rule2) triple6) -> rule7)) -> rule4)) -> rule6))] Harry is green.[(triple2)] Harry is nice.[(triple3 OR ((triple7) -> rule4) OR ((((triple5) -> rule5)) -> rule4) OR ((((triple5) -> rule8)) -> rule4) OR ((((triple5 triple6) -> rule7)) -> rule4) OR ((((((triple6) -> rule2)) -> rule5)) -> rule4) OR ((((((triple6) -> rule2)) -> rule8)) -> rule4) OR ((((((triple6) -> rule2) triple6) -> rule7)) -> rule4))] Harry is rough.[(triple4 OR ((triple7) -> rule3) OR ((((triple5) -> rule5)) -> rule3) OR ((((triple5) -> rule8)) -> rule3) OR ((((triple5 triple6) -> rule7)) -> rule3) OR ((((((triple6) -> rule2)) -> rule5)) -> rule3) OR ((((((triple6) -> rule2)) -> rule8)) -> rule3) OR ((((((triple6) -> rule2) triple6) -> rule7)) -> rule3))] Harry is round.[(triple5 OR ((triple6) -> rule2))] Harry is white.[(triple6)] Harry is young.[(triple7 OR ((triple5) -> rule5) OR ((triple5) -> rule8) OR ((triple5 triple6) -> rule7) OR ((((triple6) -> rule2)) -> rule5) OR ((((triple6) -> rule2)) -> rule8) OR ((((triple6) -> rule2) triple6) -> rule7))]
Harry is big.
("Harry" "is" "big" "+")
triple1
((triple2) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple3) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple7) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
((((((triple5) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((triple5) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((triple5 triple6) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((((((((triple6) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((((((((triple6) -> (rule2 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((((((((triple6) -> (rule2 % int4)) triple6) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
triple2
Harry is nice.
("Harry" "is" "nice" "+")
triple3
((triple7) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((((triple5) -> (rule5 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple5) -> (rule8 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple5 triple6) -> (rule7 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((triple6) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((triple6) -> (rule2 % int3)) triple6) -> (rule7 % int2))) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
triple4
((triple7) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple5) -> (rule5 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple5) -> (rule8 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple5 triple6) -> (rule7 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((((triple6) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((triple6) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((triple6) -> (rule2 % int3)) triple6) -> (rule7 % int2))) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
triple5
((triple6) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple6
Harry is young.
("Harry" "is" "young" "+")
triple7
((triple5) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((triple5) -> (rule8 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((triple5 triple6) -> (rule7 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
((((triple6) -> (rule2 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((triple6) -> (rule2 % int2))) -> (rule8 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((triple6) -> (rule2 % int2)) triple6) -> (rule7 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2