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