| ¬ (bits + false ' + bits0).first ∧ bits + false ' + bits0 ≠ [] ⊦ bits = [], bits2uint((bits + false ' + bits0).rest) = bits2uint(bits0), true ∈ bits |
⊦ bits = [], bits2uint(bits.rest + false ' + bits0) = bits2uint(bits0), true ∈ bits, bits.first
Used simplifier rules: ⊦ bits ≠ [] → ((bits + bits0).first ↔ bits.first);% ⊦ bits + boolvar ' + bits0 ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits ≠ [] → (bits + bits0).rest = bits.rest + bits0;