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