| bits ≠ [] → (∃ bits0, boolvar. bits = bits0 + boolvar '), bits +1 = false ', ∀ bits0. # bits0 < # bits → bits0 +1 = false ' → false ⊦ |
(bits0 + boolvar ')+1 = false ', ∀ bits1. # bits1 < #(bits0 + boolvar ') → bits1 +1 = false ' → false ⊦
Used simplifier rules: succ-empty: ⊦ [] +1 = true ';% ⊦ boolvar ∈ boolvar0 ' ↔ boolvar ↔ boolvar0;% ⊦ boolvar ∈ bits + bits0 ↔ ¬ ¬(boolvar ∈ bits ∨ boolvar ∈ bits0);% ⊦ bits + boolvar ' ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + boolvar ' = bits0 → boolvar ∈ bits0; (forward)% ⊦ boolvar ' = boolvar0 ' ↔ boolvar ↔ boolvar0;