| #(false ' + false ' + false ' + false ' + false ' + false ' + false ' + false ') ≤ 8, # bits = n0 * 8, n0 < n, n0 + 1 < n, 8 ≤ (n - n0) * 8 ⊦ mklist(i2b(0), n - n0) = i2b(bits2int(false ' + false ' + false ' + false ' + false ' + false ' + false ' + false ')) ' + bits2bytes(mklist(false, (n - n0) * 8 - 8)), bits = [], n = n0, bits.first |
# bits = n0 * 8, n0 < n, n0 + 1 < n, 8 ≤ (n - n0) * 8 ⊦ bits = [], n = n0, mklist(i2b(0), n - n0) = i2b(0) ' + bits2bytes(mklist(false, (n - n0) * 8 - 8)), bits.first
Used simplifier rules: ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits2uint(false ') = 0;% ⊦ bits2uint(bits + false ') = bits2uint(bits) * 2;% ⊦ bits2int(false ' + bits) = bits2uint(bits);