| # bits0 ≠ 0 ⊦ bits2uint(bits) * 2 ^ n→i(# bits0) + bits2uint(bits0) = bits2uint(bits0), true ∈ bits |
⊦ bits2uint(bits) = 0, bits0 = [], true ∈ bits
Used simplifier rules: ⊦ # bits = 0 ↔ bits = [];% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i * j = j * i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ 2 ^ n→i(m) ≠ 0;% ⊦ i * j = 0 ↔ i = 0 ∨ j = 0;% ⊦ i = i + j ↔ j = 0;