| # bits < n * 8, # bits ≤ 8 * (n - 1), # bits2bytes(bits) < n ⊦ # bits % 8 = 0, n * 8 = # bits, mklist(i2b(0), n - # bits2bytes(bits)) + bits2bytes(bits) = bits2bytes(mklist(false, n * 8 - # bits) + bits), bits = [], bits.first |
# bits = m * 8 + n0 ∧ n0 < 8 ∧ 8 ≠ 0, # bits < n * 8, # bits ≤ 8 * (n - 1), # bits2bytes(bits) < n ⊦ n0 = 0, n * 8 = # bits, mklist(i2b(0), n - # bits2bytes(bits)) + bits2bytes(bits) = bits2bytes(mklist(false, n * 8 - # bits) + bits), bits = [], bits.first
Used simplifier rules: n ≠ 0 ⊦ m0 = m / n ∧ n0 = m % n ↔ m = m0 * n + n0 ∧ n0 < n; (elim) Used terms: # bits, 8, m, n0