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