Erin is furry. Erin is kind. Erin is nice. Erin is rough. Erin is round. Erin is smart. Erin is white. Gary is kind. Gary is round. Gary is white. If something is white then it is furry. All furry things are round. All kind things are furry. If something is furry then it is rough. If something is round and rough then it is smart. If Gary is furry then Gary is kind.
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is white.
("Erin" "is" "white" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
If something is white then it is furry.
((("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
All furry things are round.
((("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
All kind things are furry.
((("something" "is" "kind" "+")) -> ("something" "is" "furry" "+"))
If something is furry then it is rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If something is round and rough then it is smart.
((("something" "is" "round" "+") ("something" "is" "rough" "+")) -> ("something" "is" "smart" "+"))
If Gary is furry then Gary is kind.
((("Gary" "is" "furry" "+")) -> ("Gary" "is" "kind" "+"))
Gary is round.
True
1
proof
[(triple9 OR ((((triple10) -> rule1)) -> rule2) OR ((((triple8) -> rule3)) -> rule2))]
("Gary" "is" "round" "+")
triple9
((((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple8) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Erin is not nice.
False
1
inv-proof
[(triple3)]
("Erin" "is" "nice" "-")
triple3
Gary is furry.
True
2
proof
[(((triple10) -> rule1) OR ((triple8) -> rule3))]
("Gary" "is" "furry" "+")
((triple10) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple8) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not furry.
False
2
inv-proof
[(((triple10) -> rule1) OR ((triple8) -> rule3))]
("Gary" "is" "furry" "-")
((triple10) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple8) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
True
3
proof
[(((((triple10) -> rule1)) -> rule4) OR ((((triple8) -> rule3)) -> rule4))]
("Gary" "is" "rough" "+")
((((triple10) -> (rule1 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is not rough.
False
3
inv-proof
[(((((triple10) -> rule1)) -> rule4) OR ((((triple8) -> rule3)) -> rule4))]
("Gary" "is" "rough" "-")
((((triple10) -> (rule1 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is smart.
True
5
proof
[(((triple9 ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((triple9 ((((triple8) -> rule3)) -> rule4)) -> rule5) OR ((((((triple10) -> rule1)) -> rule2) ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((((((triple10) -> rule1)) -> rule2) ((((triple8) -> rule3)) -> rule4)) -> rule5) OR ((((((triple8) -> rule3)) -> rule2) ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((((((triple8) -> rule3)) -> rule2) ((((triple8) -> rule3)) -> rule4)) -> rule5))]
("Gary" "is" "smart" "+")
((triple9 ((((triple10) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((triple9 ((((triple8) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple10) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple10) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple10) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple8) -> (rule3 % int4))) -> (rule2 % int3)) ((((triple10) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple8) -> (rule3 % int4))) -> (rule2 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
Gary is not smart.
False
5
inv-proof
[(((triple9 ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((triple9 ((((triple8) -> rule3)) -> rule4)) -> rule5) OR ((((((triple10) -> rule1)) -> rule2) ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((((((triple10) -> rule1)) -> rule2) ((((triple8) -> rule3)) -> rule4)) -> rule5) OR ((((((triple8) -> rule3)) -> rule2) ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((((((triple8) -> rule3)) -> rule2) ((((triple8) -> rule3)) -> rule4)) -> rule5))]
("Gary" "is" "smart" "-")
((triple9 ((((triple10) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((triple9 ((((triple8) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple10) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple10) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple10) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple8) -> (rule3 % int4))) -> (rule2 % int3)) ((((triple10) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple8) -> (rule3 % int4))) -> (rule2 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
@0: Erin is furry.[(triple1 OR ((triple2) -> rule3) OR ((triple7) -> rule1))] Erin is kind.[(triple2)] Erin is nice.[(triple3)] Erin is rough.[(triple4 OR ((triple1) -> rule4) OR ((((triple2) -> rule3)) -> rule4) OR ((((triple7) -> rule1)) -> rule4))] Erin is round.[(triple5 OR ((triple1) -> rule2) OR ((((triple2) -> rule3)) -> rule2) OR ((((triple7) -> rule1)) -> rule2))] Erin is smart.[(triple6 OR ((triple5 triple4) -> rule5) OR ((triple5 ((triple1) -> rule4)) -> rule5) OR ((((triple1) -> rule2) triple4) -> rule5) OR ((((triple1) -> rule2) ((triple1) -> rule4)) -> rule5) OR ((triple5 ((((triple2) -> rule3)) -> rule4)) -> rule5) OR ((triple5 ((((triple7) -> rule1)) -> rule4)) -> rule5) OR ((((((triple2) -> rule3)) -> rule2) triple4) -> rule5) OR ((((((triple7) -> rule1)) -> rule2) triple4) -> rule5) OR ((((triple1) -> rule2) ((((triple2) -> rule3)) -> rule4)) -> rule5) OR ((((triple1) -> rule2) ((((triple7) -> rule1)) -> rule4)) -> rule5) OR ((((((triple2) -> rule3)) -> rule2) ((triple1) -> rule4)) -> rule5) OR ((((((triple7) -> rule1)) -> rule2) ((triple1) -> rule4)) -> rule5) OR ((((((triple2) -> rule3)) -> rule2) ((((triple2) -> rule3)) -> rule4)) -> rule5) OR ((((((triple2) -> rule3)) -> rule2) ((((triple7) -> rule1)) -> rule4)) -> rule5) OR ((((((triple7) -> rule1)) -> rule2) ((((triple2) -> rule3)) -> rule4)) -> rule5) OR ((((((triple7) -> rule1)) -> rule2) ((((triple7) -> rule1)) -> rule4)) -> rule5))] Erin is white.[(triple7)] Gary is kind.[(triple8 OR ((((triple10) -> rule1)) -> rule6))] Gary is round.[(triple9 OR ((((triple10) -> rule1)) -> rule2) OR ((((triple8) -> rule3)) -> rule2))] Gary is white.[(triple10)] @1: Gary is furry.[(((triple10) -> rule1) OR ((triple8) -> rule3))] @2: Gary is rough.[(((((triple10) -> rule1)) -> rule4) OR ((((triple8) -> rule3)) -> rule4))] @3: Gary is smart.[(((triple9 ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((triple9 ((((triple8) -> rule3)) -> rule4)) -> rule5) OR ((((((triple10) -> rule1)) -> rule2) ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((((((triple10) -> rule1)) -> rule2) ((((triple8) -> rule3)) -> rule4)) -> rule5) OR ((((((triple8) -> rule3)) -> rule2) ((((triple10) -> rule1)) -> rule4)) -> rule5) OR ((((((triple8) -> rule3)) -> rule2) ((((triple8) -> rule3)) -> rule4)) -> rule5))]
Erin is furry.
("Erin" "is" "furry" "+")
triple1
((triple2) -> (rule3 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
((triple7) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple2
Erin is nice.
("Erin" "is" "nice" "+")
triple3
Erin is rough.
("Erin" "is" "rough" "+")
triple4
((triple1) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple7) -> (rule1 % int2))) -> (rule4 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
triple5
((triple1) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
triple6
((triple5 triple4) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((triple5 ((triple1) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
((((triple1) -> (rule2 % int2)) triple4) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((triple1) -> (rule2 % int3)) ((triple1) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((triple5 ((((triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((triple5 ((((triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((((triple2) -> (rule3 % int3))) -> (rule2 % int2)) triple4) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((((triple7) -> (rule1 % int3))) -> (rule2 % int2)) triple4) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
((((triple1) -> (rule2 % int4)) ((((triple2) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
((((triple1) -> (rule2 % int4)) ((((triple7) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
((((((triple2) -> (rule3 % int4))) -> (rule2 % int3)) ((triple1) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
((((((triple7) -> (rule1 % int4))) -> (rule2 % int3)) ((triple1) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
((((((triple2) -> (rule3 % int4))) -> (rule2 % int3)) ((((triple2) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
((((((triple2) -> (rule3 % int4))) -> (rule2 % int3)) ((((triple7) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
((((((triple7) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple2) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
((((((triple7) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple7) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
triple7
Gary is kind.
("Gary" "is" "kind" "+")
triple8
((((triple10) -> (rule1 % int2))) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple9
((((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple8) -> (rule3 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
triple10
Gary is furry.
("Gary" "is" "furry" "+")
((triple10) -> (rule1 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple8) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((((triple10) -> (rule1 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
((triple9 ((((triple10) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((triple9 ((((triple8) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
((((((triple10) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple10) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple10) -> (rule1 % int4))) -> (rule2 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple8) -> (rule3 % int4))) -> (rule2 % int3)) ((((triple10) -> (rule1 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4
((((((triple8) -> (rule3 % int4))) -> (rule2 % int3)) ((((triple8) -> (rule3 % int4))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
int4