Harry is big. Harry is cold. Harry is furry. Harry is kind. Harry is red. Harry is smart. Harry is young. Young things are kind. If something is young and cold then it is smart. Furry things are kind. All big, kind things are cold. If Harry is big and Harry is kind then Harry is smart. If Harry is big then Harry is young.
Harry is big.
("Harry" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
Young things are kind.
((("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
If something is young and cold then it is smart.
((("something" "is" "young" "+") ("something" "is" "cold" "+")) -> ("something" "is" "smart" "+"))
Furry things are kind.
((("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
All big, kind things are cold.
((("something" "is" "big" "+") ("something" "is" "kind" "+")) -> ("something" "is" "cold" "+"))
If Harry is big and Harry is kind then Harry is smart.
((("Harry" "is" "big" "+") ("Harry" "is" "kind" "+")) -> ("Harry" "is" "smart" "+"))
If Harry is big then Harry is young.
((("Harry" "is" "big" "+")) -> ("Harry" "is" "young" "+"))
Harry is smart.
True
1
proof
[(triple6 OR ((triple1 triple4) -> rule5) OR ((triple7 triple2) -> rule2) OR ((triple1 ((triple3) -> rule3)) -> rule5) OR ((triple1 ((triple7) -> rule1)) -> rule5) OR ((triple7 ((triple1 triple4) -> rule4)) -> rule2) OR ((((triple1) -> rule6) triple2) -> rule2) OR ((((triple1) -> rule6) ((triple1 triple4) -> rule4)) -> rule2) OR ((triple1 ((((triple1) -> rule6)) -> rule1)) -> rule5) OR ((triple7 ((triple1 ((triple3) -> rule3)) -> rule4)) -> rule2) OR ((triple7 ((triple1 ((triple7) -> rule1)) -> rule4)) -> rule2) OR ((((triple1) -> rule6) ((triple1 ((triple3) -> rule3)) -> rule4)) -> rule2) OR ((((triple1) -> rule6) ((triple1 ((triple7) -> rule1)) -> rule4)) -> rule2) OR ((triple7 ((triple1 ((((triple1) -> rule6)) -> rule1)) -> rule4)) -> rule2) OR ((((triple1) -> rule6) ((triple1 ((((triple1) -> rule6)) -> rule1)) -> rule4)) -> rule2))]
("Harry" "is" "smart" "+")
triple6
((triple1 triple4) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((triple7 triple2) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((triple1 ((triple3) -> (rule3 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple1 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple7 ((triple1 triple4) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
((((triple1) -> (rule6 % int2)) triple2) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple1) -> (rule6 % int3)) ((triple1 triple4) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((triple1 ((((triple1) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((triple7 ((triple1 ((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((triple7 ((triple1 ((triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((((triple1) -> (rule6 % int4)) ((triple1 ((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
((((triple1) -> (rule6 % int4)) ((triple1 ((triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
((triple7 ((triple1 ((((triple1) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
((((triple1) -> (rule6 % int4)) ((triple1 ((((triple1) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is not cold.
False
1
inv-proof
[(triple2 OR ((triple1 triple4) -> rule4) OR ((triple1 ((triple3) -> rule3)) -> rule4) OR ((triple1 ((triple7) -> rule1)) -> rule4) OR ((triple1 ((((triple1) -> rule6)) -> rule1)) -> rule4))]
("Harry" "is" "cold" "-")
triple2
((triple1 triple4) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((triple1 ((triple3) -> (rule3 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple1 ((triple7) -> (rule1 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple1 ((((triple1) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
@0: Harry is big.[(triple1)] Harry is cold.[(triple2 OR ((triple1 triple4) -> rule4) OR ((triple1 ((triple3) -> rule3)) -> rule4) OR ((triple1 ((triple7) -> rule1)) -> rule4) OR ((triple1 ((((triple1) -> rule6)) -> rule1)) -> rule4))] Harry is furry.[(triple3)] Harry is kind.[(triple4 OR ((triple3) -> rule3) OR ((triple7) -> rule1) OR ((((triple1) -> rule6)) -> rule1))] Harry is red.[(triple5)] Harry is smart.[(triple6 OR ((triple1 triple4) -> rule5) OR ((triple7 triple2) -> rule2) OR ((triple1 ((triple3) -> rule3)) -> rule5) OR ((triple1 ((triple7) -> rule1)) -> rule5) OR ((triple7 ((triple1 triple4) -> rule4)) -> rule2) OR ((((triple1) -> rule6) triple2) -> rule2) OR ((((triple1) -> rule6) ((triple1 triple4) -> rule4)) -> rule2) OR ((triple1 ((((triple1) -> rule6)) -> rule1)) -> rule5) OR ((triple7 ((triple1 ((triple3) -> rule3)) -> rule4)) -> rule2) OR ((triple7 ((triple1 ((triple7) -> rule1)) -> rule4)) -> rule2) OR ((((triple1) -> rule6) ((triple1 ((triple3) -> rule3)) -> rule4)) -> rule2) OR ((((triple1) -> rule6) ((triple1 ((triple7) -> rule1)) -> rule4)) -> rule2) OR ((triple7 ((triple1 ((((triple1) -> rule6)) -> rule1)) -> rule4)) -> rule2) OR ((((triple1) -> rule6) ((triple1 ((((triple1) -> rule6)) -> rule1)) -> rule4)) -> rule2))] Harry is young.[(triple7 OR ((triple1) -> rule6))]
Harry is big.
("Harry" "is" "big" "+")
triple1
Harry is cold.
("Harry" "is" "cold" "+")
triple2
((triple1 triple4) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((triple1 ((triple3) -> (rule3 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple1 ((triple7) -> (rule1 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple1 ((((triple1) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
triple3
Harry is kind.
("Harry" "is" "kind" "+")
triple4
((triple3) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple7) -> (rule1 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((((triple1) -> (rule6 % int2))) -> (rule1 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
triple5
Harry is smart.
("Harry" "is" "smart" "+")
triple6
((triple1 triple4) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((triple7 triple2) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
((triple1 ((triple3) -> (rule3 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple1 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((triple7 ((triple1 triple4) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
((((triple1) -> (rule6 % int2)) triple2) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
((((triple1) -> (rule6 % int3)) ((triple1 triple4) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((triple1 ((((triple1) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
((triple7 ((triple1 ((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((triple7 ((triple1 ((triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((((triple1) -> (rule6 % int4)) ((triple1 ((triple3) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
((((triple1) -> (rule6 % int4)) ((triple1 ((triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
((triple7 ((triple1 ((((triple1) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
((((triple1) -> (rule6 % int4)) ((triple1 ((((triple1) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is young.
("Harry" "is" "young" "+")
int4
Harry is young.
("Harry" "is" "young" "+")
triple7
((triple1) -> (rule6 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1