Gary is big. Gary is cold. Gary is nice. Gary is smart. Harry is big. Harry is blue. Harry is cold. Harry is nice. Harry is quiet. Harry is rough. All cold things are rough. Blue, nice things are cold. Smart things are rough. All blue, nice things are quiet. If something is quiet then it is rough. If something is blue then it is big. If something is big and rough then it is blue. If something is rough and cold then it is quiet.
Gary is big.
("Gary" "is" "big" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is rough.
("Harry" "is" "rough" "+")
All cold things are rough.
((("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
Blue, nice things are cold.
((("something" "is" "blue" "+") ("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
Smart things are rough.
((("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
All blue, nice things are quiet.
((("something" "is" "blue" "+") ("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
If something is quiet then it is rough.
((("something" "is" "quiet" "+")) -> ("something" "is" "rough" "+"))
If something is blue then it is big.
((("something" "is" "blue" "+")) -> ("something" "is" "big" "+"))
If something is big and rough then it is blue.
((("something" "is" "big" "+") ("something" "is" "rough" "+")) -> ("something" "is" "blue" "+"))
If something is rough and cold then it is quiet.
((("something" "is" "rough" "+") ("something" "is" "cold" "+")) -> ("something" "is" "quiet" "+"))
Harry is quiet.
True
1
proof
[(triple9 OR ((triple10 triple7) -> rule8) OR ((triple6 triple8) -> rule4) OR ((triple10 ((triple6 triple8) -> rule2)) -> rule8) OR ((((triple7) -> rule1) triple7) -> rule8) OR ((((triple5 triple10) -> rule7) triple8) -> rule4) OR ((((triple7) -> rule1) ((triple6 triple8) -> rule2)) -> rule8) OR ((triple10 ((((triple5 triple10) -> rule7) triple8) -> rule2)) -> rule8) OR ((((((triple6 triple8) -> rule2)) -> rule1) triple7) -> rule8) OR ((((triple5 ((triple7) -> rule1)) -> rule7) triple8) -> rule4) OR ((((triple7) -> rule1) ((((triple5 triple10) -> rule7) triple8) -> rule2)) -> rule8) OR ((((((triple6 triple8) -> rule2)) -> rule1) ((triple6 triple8) -> rule2)) -> rule8) OR ((((((triple6 triple8) -> rule2)) -> rule1) ((((triple5 triple10) -> rule7) triple8) -> rule2)) -> rule8))]
("Harry" "is" "quiet" "+")
triple9
((triple10 triple7) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple6 triple8) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple10 ((triple6 triple8) -> (rule2 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
((((triple7) -> (rule1 % int2)) triple7) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple5 triple10) -> (rule7 % int2)) triple8) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((triple7) -> (rule1 % int3)) ((triple6 triple8) -> (rule2 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((triple10 ((((triple5 triple10) -> (rule7 % int3)) triple8) -> (rule2 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
((((((triple6 triple8) -> (rule2 % int3))) -> (rule1 % int2)) triple7) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
((((triple5 ((triple7) -> (rule1 % int3))) -> (rule7 % int2)) triple8) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((triple7) -> (rule1 % int4)) ((((triple5 triple10) -> (rule7 % int3)) triple8) -> (rule2 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((((triple6 triple8) -> (rule2 % int3))) -> (rule1 % int2)) ((triple6 triple8) -> (rule2 % int3))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
((((((triple6 triple8) -> (rule2 % int4))) -> (rule1 % int3)) ((((triple5 triple10) -> (rule7 % int2)) triple8) -> (rule2 % int4))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is not rough.
False
1
inv-proof
[(triple10 OR ((triple7) -> rule1) OR ((triple9) -> rule5) OR ((((triple6 triple8) -> rule2)) -> rule1) OR ((((triple6 triple8) -> rule4)) -> rule5))]
("Harry" "is" "rough" "-")
triple10
((triple7) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple9) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple6 triple8) -> (rule2 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
((((triple6 triple8) -> (rule4 % int2))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Gary is rough.
True
2
proof
[(((triple2) -> rule1) OR ((triple4) -> rule3))]
("Gary" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple4) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is not rough.
False
2
inv-proof
[(((triple2) -> rule1) OR ((triple4) -> rule3))]
("Gary" "is" "rough" "-")
((triple2) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple4) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is quiet.
True
4
proof
[(((((triple2) -> rule1) triple2) -> rule8) OR ((((triple4) -> rule3) triple2) -> rule8) OR ((((triple1 ((triple2) -> rule1)) -> rule7) triple3) -> rule4) OR ((((triple1 ((triple4) -> rule3)) -> rule7) triple3) -> rule4) OR ((((triple2) -> rule1) ((((triple1 ((triple4) -> rule3)) -> rule7) triple3) -> rule2)) -> rule8) OR ((((triple4) -> rule3) ((((triple1 ((triple4) -> rule3)) -> rule7) triple3) -> rule2)) -> rule8))]
("Gary" "is" "quiet" "+")
((((triple2) -> (rule1 % int2)) triple2) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple4) -> (rule3 % int2)) triple2) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple1 ((triple2) -> (rule1 % int3))) -> (rule7 % int2)) triple3) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple1 ((triple4) -> (rule3 % int3))) -> (rule7 % int2)) triple3) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple2) -> (rule1 % int4)) ((((triple1 ((triple4) -> (rule3 % int4))) -> (rule7 % int3)) triple3) -> (rule2 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((triple4) -> (rule3 % int4)) ((((triple1 ((triple4) -> (rule3 % int4))) -> (rule7 % int3)) triple3) -> (rule2 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is not blue.
False
4
inv-proof
[(((triple1 ((triple2) -> rule1)) -> rule7) OR ((triple1 ((triple4) -> rule3)) -> rule7))]
("Gary" "is" "blue" "-")
((triple1 ((triple2) -> (rule1 % int2))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((triple1 ((triple4) -> (rule3 % int2))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
@0: Gary is big.[(triple1)] Gary is cold.[(triple2 OR ((((triple1 ((triple4) -> rule3)) -> rule7) triple3) -> rule2))] Gary is nice.[(triple3)] Gary is smart.[(triple4)] Harry is big.[(triple5 OR ((triple6) -> rule6))] Harry is blue.[(triple6 OR ((triple5 triple10) -> rule7) OR ((triple5 ((triple7) -> rule1)) -> rule7) OR ((triple5 ((triple9) -> rule5)) -> rule7))] Harry is cold.[(triple7 OR ((triple6 triple8) -> rule2) OR ((((triple5 triple10) -> rule7) triple8) -> rule2) OR ((((triple5 ((triple9) -> rule5)) -> rule7) triple8) -> rule2))] Harry is nice.[(triple8)] Harry is quiet.[(triple9 OR ((triple10 triple7) -> rule8) OR ((triple6 triple8) -> rule4) OR ((triple10 ((triple6 triple8) -> rule2)) -> rule8) OR ((((triple7) -> rule1) triple7) -> rule8) OR ((((triple5 triple10) -> rule7) triple8) -> rule4) OR ((((triple7) -> rule1) ((triple6 triple8) -> rule2)) -> rule8) OR ((triple10 ((((triple5 triple10) -> rule7) triple8) -> rule2)) -> rule8) OR ((((((triple6 triple8) -> rule2)) -> rule1) triple7) -> rule8) OR ((((triple5 ((triple7) -> rule1)) -> rule7) triple8) -> rule4) OR ((((triple7) -> rule1) ((((triple5 triple10) -> rule7) triple8) -> rule2)) -> rule8) OR ((((((triple6 triple8) -> rule2)) -> rule1) ((triple6 triple8) -> rule2)) -> rule8) OR ((((((triple6 triple8) -> rule2)) -> rule1) ((((triple5 triple10) -> rule7) triple8) -> rule2)) -> rule8))] Harry is rough.[(triple10 OR ((triple7) -> rule1) OR ((triple9) -> rule5) OR ((((triple6 triple8) -> rule2)) -> rule1) OR ((((triple6 triple8) -> rule4)) -> rule5))] @1: Gary is rough.[(((triple2) -> rule1) OR ((triple4) -> rule3))] @2: Gary is blue.[(((triple1 ((triple2) -> rule1)) -> rule7) OR ((triple1 ((triple4) -> rule3)) -> rule7))] Gary is quiet.[(((((triple2) -> rule1) triple2) -> rule8) OR ((((triple4) -> rule3) triple2) -> rule8) OR ((((triple1 ((triple2) -> rule1)) -> rule7) triple3) -> rule4) OR ((((triple1 ((triple4) -> rule3)) -> rule7) triple3) -> rule4) OR ((((triple2) -> rule1) ((((triple1 ((triple4) -> rule3)) -> rule7) triple3) -> rule2)) -> rule8) OR ((((triple4) -> rule3) ((((triple1 ((triple4) -> rule3)) -> rule7) triple3) -> rule2)) -> rule8))]
Gary is big.
("Gary" "is" "big" "+")
triple1
Gary is cold.
("Gary" "is" "cold" "+")
triple2
((((triple1 ((triple4) -> (rule3 % int3))) -> (rule7 % int2)) triple3) -> (rule2 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
triple3
Gary is smart.
("Gary" "is" "smart" "+")
triple4
Harry is big.
("Harry" "is" "big" "+")
triple5
((triple6) -> (rule6 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
triple6
((triple5 triple10) -> (rule7 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((triple5 ((triple7) -> (rule1 % int2))) -> (rule7 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((triple5 ((triple9) -> (rule5 % int2))) -> (rule7 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
triple7
((triple6 triple8) -> (rule2 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
((((triple5 triple10) -> (rule7 % int2)) triple8) -> (rule2 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((triple5 ((triple9) -> (rule5 % int3))) -> (rule7 % int2)) triple8) -> (rule2 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is quiet.
("Harry" "is" "quiet" "+")
triple9
((triple10 triple7) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple6 triple8) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple10 ((triple6 triple8) -> (rule2 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
((((triple7) -> (rule1 % int2)) triple7) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple5 triple10) -> (rule7 % int2)) triple8) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((triple7) -> (rule1 % int3)) ((triple6 triple8) -> (rule2 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((triple10 ((((triple5 triple10) -> (rule7 % int3)) triple8) -> (rule2 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
((((((triple6 triple8) -> (rule2 % int3))) -> (rule1 % int2)) triple7) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
((((triple5 ((triple7) -> (rule1 % int3))) -> (rule7 % int2)) triple8) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((((triple7) -> (rule1 % int4)) ((((triple5 triple10) -> (rule7 % int3)) triple8) -> (rule2 % int2))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((((triple6 triple8) -> (rule2 % int3))) -> (rule1 % int2)) ((triple6 triple8) -> (rule2 % int3))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
((((((triple6 triple8) -> (rule2 % int4))) -> (rule1 % int3)) ((((triple5 triple10) -> (rule7 % int2)) triple8) -> (rule2 % int4))) -> (rule8 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
triple10
((triple7) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple9) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple6 triple8) -> (rule2 % int2))) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
((((triple6 triple8) -> (rule4 % int2))) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple4) -> (rule3 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
((triple1 ((triple2) -> (rule1 % int2))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((triple1 ((triple4) -> (rule3 % int2))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
((((triple2) -> (rule1 % int2)) triple2) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple4) -> (rule3 % int2)) triple2) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple1 ((triple2) -> (rule1 % int3))) -> (rule7 % int2)) triple3) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple1 ((triple4) -> (rule3 % int3))) -> (rule7 % int2)) triple3) -> (rule4 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple2) -> (rule1 % int4)) ((((triple1 ((triple4) -> (rule3 % int4))) -> (rule7 % int3)) triple3) -> (rule2 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
((((triple4) -> (rule3 % int4)) ((((triple1 ((triple4) -> (rule3 % int4))) -> (rule7 % int3)) triple3) -> (rule2 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4