Charlie is cold. Charlie is furry. Charlie is quiet. Charlie is round. Charlie is white. Erin is big. Erin is cold. Erin is furry. Erin is quiet. Erin is rough. Erin is round. Erin is white. If Charlie is cold then Charlie is round. If Charlie is round and Charlie is quiet then Charlie is furry. Quiet, round things are big. If something is quiet then it is cold. Round things are quiet. If Erin is furry then Erin is quiet.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is white.
("Erin" "is" "white" "+")
If Charlie is cold then Charlie is round.
((("Charlie" "is" "cold" "+")) -> ("Charlie" "is" "round" "+"))
If Charlie is round and Charlie is quiet then Charlie is furry.
((("Charlie" "is" "round" "+") ("Charlie" "is" "quiet" "+")) -> ("Charlie" "is" "furry" "+"))
Quiet, round things are big.
((("something" "is" "quiet" "+") ("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If something is quiet then it is cold.
((("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
Round things are quiet.
((("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
If Erin is furry then Erin is quiet.
((("Erin" "is" "furry" "+")) -> ("Erin" "is" "quiet" "+"))
Charlie is furry.
True
1
proof
[(triple2 OR ((triple4 triple3) -> rule2) OR ((triple4 ((triple4) -> rule5)) -> rule2) OR ((((triple1) -> rule1) triple3) -> rule2) OR ((((triple1) -> rule1) ((triple4) -> rule5)) -> rule2) OR ((triple4 ((((triple1) -> rule1)) -> rule5)) -> rule2) OR ((((((triple3) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple1) -> rule1) ((((triple1) -> rule1)) -> rule5)) -> rule2) OR ((((((triple3) -> rule4)) -> rule1) ((triple4) -> rule5)) -> rule2) OR ((((((triple3) -> rule4)) -> rule1) ((((triple1) -> rule1)) -> rule5)) -> rule2))]
("Charlie" "is" "furry" "+")
triple2
((triple4 triple3) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple4 ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple1) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple1) -> (rule1 % int3)) ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((triple4 ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((((triple3) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
((((triple1) -> (rule1 % int3)) ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((((triple3) -> (rule4 % int4))) -> (rule1 % int3)) ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
((((((triple3) -> (rule4 % int4))) -> (rule1 % int3)) ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is not round.
False
1
inv-proof
[(triple4 OR ((triple1) -> rule1) OR ((((triple3) -> rule4)) -> rule1))]
("Charlie" "is" "round" "-")
triple4
((triple1) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((triple3) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is big.
True
3
proof
[(((triple3 triple4) -> rule3) OR ((triple3 ((triple1) -> rule1)) -> rule3) OR ((((triple4) -> rule5) triple4) -> rule3) OR ((((triple4) -> rule5) ((triple1) -> rule1)) -> rule3) OR ((triple3 ((((triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) triple4) -> rule3) OR ((((triple4) -> rule5) ((((triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) ((triple1) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) ((((triple3) -> rule4)) -> rule1)) -> rule3))]
("Charlie" "is" "big" "+")
((triple3 triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple3 ((triple1) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple4) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple4) -> (rule5 % int3)) ((triple1) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((triple3 ((((triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
((((((triple1) -> (rule1 % int3))) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((triple4) -> (rule5 % int4)) ((((triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple1) -> (rule1 % int3))) -> (rule5 % int2)) ((triple1) -> (rule1 % int3))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((((triple1) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple3) -> (rule4 % int2))) -> (rule1 % int4))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is not big.
False
3
inv-proof
[(((triple3 triple4) -> rule3) OR ((triple3 ((triple1) -> rule1)) -> rule3) OR ((((triple4) -> rule5) triple4) -> rule3) OR ((((triple4) -> rule5) ((triple1) -> rule1)) -> rule3) OR ((triple3 ((((triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) triple4) -> rule3) OR ((((triple4) -> rule5) ((((triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) ((triple1) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) ((((triple3) -> rule4)) -> rule1)) -> rule3))]
("Charlie" "is" "big" "-")
((triple3 triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple3 ((triple1) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple4) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple4) -> (rule5 % int3)) ((triple1) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((triple3 ((((triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
((((((triple1) -> (rule1 % int3))) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((triple4) -> (rule5 % int4)) ((((triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple1) -> (rule1 % int3))) -> (rule5 % int2)) ((triple1) -> (rule1 % int3))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((((triple1) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple3) -> (rule4 % int2))) -> (rule1 % int4))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
@0: Charlie is cold.[(triple1 OR ((triple3) -> rule4) OR ((((triple4) -> rule5)) -> rule4))] Charlie is furry.[(triple2 OR ((triple4 triple3) -> rule2) OR ((triple4 ((triple4) -> rule5)) -> rule2) OR ((((triple1) -> rule1) triple3) -> rule2) OR ((((triple1) -> rule1) ((triple4) -> rule5)) -> rule2) OR ((triple4 ((((triple1) -> rule1)) -> rule5)) -> rule2) OR ((((((triple3) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple1) -> rule1) ((((triple1) -> rule1)) -> rule5)) -> rule2) OR ((((((triple3) -> rule4)) -> rule1) ((triple4) -> rule5)) -> rule2) OR ((((((triple3) -> rule4)) -> rule1) ((((triple1) -> rule1)) -> rule5)) -> rule2))] Charlie is quiet.[(triple3 OR ((triple4) -> rule5) OR ((((triple1) -> rule1)) -> rule5))] Charlie is round.[(triple4 OR ((triple1) -> rule1) OR ((((triple3) -> rule4)) -> rule1))] Charlie is white.[(triple5)] Erin is big.[(triple6 OR ((triple9 triple11) -> rule3) OR ((((triple11) -> rule5) triple11) -> rule3) OR ((((triple8) -> rule6) triple11) -> rule3))] Erin is cold.[(triple7 OR ((triple9) -> rule4) OR ((((triple11) -> rule5)) -> rule4) OR ((((triple8) -> rule6)) -> rule4))] Erin is furry.[(triple8)] Erin is quiet.[(triple9 OR ((triple11) -> rule5) OR ((triple8) -> rule6))] Erin is rough.[(triple10)] Erin is round.[(triple11)] Erin is white.[(triple12)] @1: Charlie is big.[(((triple3 triple4) -> rule3) OR ((triple3 ((triple1) -> rule1)) -> rule3) OR ((((triple4) -> rule5) triple4) -> rule3) OR ((((triple4) -> rule5) ((triple1) -> rule1)) -> rule3) OR ((triple3 ((((triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) triple4) -> rule3) OR ((((triple4) -> rule5) ((((triple3) -> rule4)) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) ((triple1) -> rule1)) -> rule3) OR ((((((triple1) -> rule1)) -> rule5) ((((triple3) -> rule4)) -> rule1)) -> rule3))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
((triple3) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple4) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
((triple4 triple3) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple4 ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple1) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple1) -> (rule1 % int3)) ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((triple4 ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((((triple3) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
((((triple1) -> (rule1 % int3)) ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((((triple3) -> (rule4 % int4))) -> (rule1 % int3)) ((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
((((((triple3) -> (rule4 % int4))) -> (rule1 % int3)) ((((triple1) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple3
((triple4) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
triple4
((triple1) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((triple3) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
triple5
Erin is big.
("Erin" "is" "big" "+")
triple6
((triple9 triple11) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((triple11) -> (rule5 % int2)) triple11) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((triple8) -> (rule6 % int2)) triple11) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
triple7
((triple9) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((((triple11) -> (rule5 % int2))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((triple8) -> (rule6 % int2))) -> (rule4 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
triple8
Erin is quiet.
("Erin" "is" "quiet" "+")
triple9
((triple11) -> (rule5 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((triple8) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
triple10
Erin is round.
("Erin" "is" "round" "+")
triple11
Erin is white.
("Erin" "is" "white" "+")
triple12
Charlie is big.
("Charlie" "is" "big" "+")
((triple3 triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple3 ((triple1) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple4) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple4) -> (rule5 % int3)) ((triple1) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((triple3 ((((triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
((((((triple1) -> (rule1 % int3))) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((triple4) -> (rule5 % int4)) ((((triple3) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((((((triple1) -> (rule1 % int3))) -> (rule5 % int2)) ((triple1) -> (rule1 % int3))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((((((triple1) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple3) -> (rule4 % int2))) -> (rule1 % int4))) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4