| # 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 |
⊦ n % 8 = 0 ∧ n ≠ 0 → bits2bytes(mklist(false, n)) = mklist(i2b(0), n / 8)
¬(((n - n0) * 8 - 8) % 8 = 0 ∧ (n - n0) * 8 - 8 ≠ 0), # 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
((n - n0) * 8 - 8) % 8 = 0 ∧ (n - n0) * 8 - 8 ≠ 0, # bits = n0 * 8, n0 < n, n0 + 1 < n, 8 ≤ (n - n0) * 8 ⊦ bits = [], n = n0, mklist(i2b(0), n - n0) = i2b(0) ' + mklist(i2b(0), ((n - n0) * 8 - 8) / 8), bits.first
Used terms: (n - n0) * 8 - 8