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