| bits = boolvar + bits0, true ∈ bits +1.rest ⊦ bits +1.first ↔ boolvar, bits = [], false ∈ bits0 |
true ∈ (boolvar ' +1 + bitsinvert(bits0)).rest ⊦ (boolvar ' +1 + bitsinvert(bits0)).first ↔ boolvar, false ∈ bits0
Used simplifier rules: succ-zeros-01: ⊦ ¬ false ∈ bits0 → (bits + bits0)+1 = bits +1 + bitsinvert(bits0);% ⊦ boolvar ' + bits ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ boolvar + bits = boolvar ' + bits;