| 8 < # bits ⊦ # bits % 8 = 0, bits2bytes(firstn(# bits % 8, bits) + restn(# bits % 8, bits)) = bits2bytes(firstn(# bits % 8, bits)) + bits2bytes(restn(# bits % 8, bits)), bits = [], (# bits - # bits % 8) % 8 = 0 ∧ restn(# bits % 8, bits) ≠ [] |
# bits = m * 8 + n ∧ n < 8 ∧ 8 ≠ 0, 8 < # bits ⊦ n = 0, bits2bytes(firstn(n, bits) + restn(n, bits)) = bits2bytes(firstn(n, bits)) + bits2bytes(restn(n, bits)), bits = [], (# bits - n) % 8 = 0 ∧ restn(n, bits) ≠ []
Used simplifier rules: n ≠ 0 ⊦ m0 = m / n ∧ n0 = m % n ↔ m = m0 * n + n0 ∧ n0 < n; (elim) Used terms: # bits, 8, m, n