Harry is big. Harry is blue. Harry is green. Harry is kind. Harry is round. Harry is white. Harry is young. If someone is big then they are round. All kind, green people are blue. All green people are big. All white people are round. If someone is white and blue then they are big. Round people are kind.
Harry is big.
("Harry" "is" "big" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
If someone is big then they are round.
((("someone" "is" "big" "+")) -> ("someone" "is" "round" "+"))
All kind, green people are blue.
((("someone" "is" "kind" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
All green people are big.
((("someone" "is" "green" "+")) -> ("someone" "is" "big" "+"))
All white people are round.
((("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
If someone is white and blue then they are big.
((("someone" "is" "white" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
Round people are kind.
((("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
Harry is big.
True
1
proof
[(triple1 OR ((triple3) -> rule3) OR ((triple6 triple2) -> rule5) OR ((triple6 ((triple4 triple3) -> rule2)) -> rule5) OR ((triple6 ((((triple5) -> rule6) triple3) -> rule2)) -> rule5) OR ((triple6 ((((((triple6) -> rule4)) -> rule6) triple3) -> rule2)) -> rule5))]
("Harry" "is" "big" "+")
triple1
((triple3) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple6 triple2) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple6 ((triple4 triple3) -> (rule2 % int2))) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((triple6 ((((triple5) -> (rule6 % int3)) triple3) -> (rule2 % int2))) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((triple6 ((((((triple6) -> (rule4 % int4))) -> (rule6 % int3)) triple3) -> (rule2 % int2))) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is not blue.
False
1
inv-proof
[(triple2 OR ((triple4 triple3) -> rule2) OR ((((triple5) -> rule6) triple3) -> rule2) OR ((((((triple1) -> rule1)) -> rule6) triple3) -> rule2) OR ((((((triple6) -> rule4)) -> rule6) triple3) -> rule2) OR ((((((((triple3) -> rule3)) -> rule1)) -> rule6) triple3) -> rule2))]
("Harry" "is" "blue" "-")
triple2
((triple4 triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple5) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((((triple1) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((triple6) -> (rule4 % int3))) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((((triple3) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
@0: Harry is big.[(triple1 OR ((triple3) -> rule3) OR ((triple6 triple2) -> rule5) OR ((triple6 ((triple4 triple3) -> rule2)) -> rule5) OR ((triple6 ((((triple5) -> rule6) triple3) -> rule2)) -> rule5) OR ((triple6 ((((((triple6) -> rule4)) -> rule6) triple3) -> rule2)) -> rule5))] Harry is blue.[(triple2 OR ((triple4 triple3) -> rule2) OR ((((triple5) -> rule6) triple3) -> rule2) OR ((((((triple1) -> rule1)) -> rule6) triple3) -> rule2) OR ((((((triple6) -> rule4)) -> rule6) triple3) -> rule2) OR ((((((((triple3) -> rule3)) -> rule1)) -> rule6) triple3) -> rule2))] Harry is green.[(triple3)] Harry is kind.[(triple4 OR ((triple5) -> rule6) OR ((((triple1) -> rule1)) -> rule6) OR ((((triple6) -> rule4)) -> rule6) OR ((((((triple3) -> rule3)) -> rule1)) -> rule6) OR ((((((triple6 triple2) -> rule5)) -> rule1)) -> rule6))] Harry is round.[(triple5 OR ((triple1) -> rule1) OR ((triple6) -> rule4) OR ((((triple3) -> rule3)) -> rule1) OR ((((triple6 triple2) -> rule5)) -> rule1) OR ((((triple6 ((triple4 triple3) -> rule2)) -> rule5)) -> rule1))] Harry is white.[(triple6)] Harry is young.[(triple7)]
Harry is big.
("Harry" "is" "big" "+")
triple1
((triple3) -> (rule3 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple6 triple2) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((triple6 ((triple4 triple3) -> (rule2 % int2))) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((triple6 ((((triple5) -> (rule6 % int3)) triple3) -> (rule2 % int2))) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((triple6 ((((((triple6) -> (rule4 % int4))) -> (rule6 % int3)) triple3) -> (rule2 % int2))) -> (rule5 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
Harry is blue.
("Harry" "is" "blue" "+")
triple2
((triple4 triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple5) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((((triple1) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((triple6) -> (rule4 % int3))) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((((triple3) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
triple3
Harry is kind.
("Harry" "is" "kind" "+")
triple4
((triple5) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((triple6) -> (rule4 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((((triple3) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((((triple6 triple2) -> (rule5 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
triple5
((triple1) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple6) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((((triple3) -> (rule3 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple6 triple2) -> (rule5 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple6 ((triple4 triple3) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is white.
("Harry" "is" "white" "+")
triple6
Harry is young.
("Harry" "is" "young" "+")
triple7