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