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