| # bits = 8 * m + n0, m < # bits2bytes(bits), # bits ≤ 8 * m + 8, n0 < 8 ⊦ lastn(m + 1, bits2bytes(bits)) = bits2bytes(mklist(bits.first, 8 * m + 8 - # bits) + bits), n0 = 0, bits = [] |
⊦ n = # bytes → lastn(n, bytes) = bytes
m + 1 ≠ # bits2bytes(bits), # bits = 8 * m + n0, m < # bits2bytes(bits), # bits ≤ 8 * m + 8, n0 < 8 ⊦ lastn(m + 1, bits2bytes(bits)) = bits2bytes(mklist(bits.first, 8 * m + 8 - # bits) + bits), n0 = 0, bits = []
m + 1 = # bits2bytes(bits), # bits = 8 * m + n0, m < # bits2bytes(bits), # bits ≤ 8 * m + 8, n0 < 8 ⊦ bits2bytes(bits) = bits2bytes(mklist(bits.first, 8 * m + 8 - # bits) + bits), n0 = 0, bits = []
Used terms: bits2bytes(bits), m + 1