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