| # bits ≤ 8 * n ⊦ n = 0, bits = [], fix(n, bits2bytes(bits)) = bits2bytes(mklist(bits.first, n * 8 - # bits) + bits) |
⊦ # bytes < n ∧ bytes2int(bytes) < 0 → fix(n, bytes) = mklist(i2b(~1), n - # bytes) + bytes
¬(# bits2bytes(bits) < n ∧ bytes2int(bits2bytes(bits)) < 0), # bits ≤ 8 * n ⊦ n = 0, bits = [], fix(n, bits2bytes(bits)) = bits2bytes(mklist(bits.first, n * 8 - # bits) + bits)
# bits2bytes(bits) < n ∧ bytes2int(bits2bytes(bits)) < 0, # bits ≤ 8 * n ⊦ n = 0, bits = [], mklist(i2b(~1), n - # bits2bytes(bits)) + bits2bytes(bits) = bits2bytes(mklist(bits.first, n * 8 - # bits) + bits)
Used terms: bits2bytes(bits), n