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