| n % 8 = 0, # bits = n + 8, ∀ bits0. # bits0 < n + 8 → true → # bits0 % 8 = 0 ∧ 8 < # bits0 → bits2bytes(bits0) = bits2bytes(firstn(8, bits0)) + bits2bytes(restn(8, bits0)) ⊦ n = 0, bits = [], bits2bytes(firstn(n, bits)) + i2b(bits2int(lastn(8, bits))) ' = bits2bytes(firstn(8, bits)) + bits2bytes(restn(8, bits)) |
⊦ 8 < # bits → bits2bytes(bits) = bits2bytes(firstn(# bits - 8, bits)) + i2b(bits2int(lastn(8, bits)))
¬ 8 < # restn(8, bits), n % 8 = 0, # bits = n + 8, ∀ bits0. # bits0 < n + 8 → true → # bits0 % 8 = 0 ∧ 8 < # bits0 → bits2bytes(bits0) = bits2bytes(firstn(8, bits0)) + bits2bytes(restn(8, bits0)) ⊦ n = 0, bits = [], bits2bytes(firstn(n, bits)) + i2b(bits2int(lastn(8, bits))) ' = bits2bytes(firstn(8, bits)) + bits2bytes(restn(8, bits))
8 < # restn(8, bits), n % 8 = 0, # bits = n + 8, ∀ bits0. # bits0 < n + 8 → true → # bits0 % 8 = 0 ∧ 8 < # bits0 → bits2bytes(bits0) = bits2bytes(firstn(8, bits0)) + bits2bytes(restn(8, bits0)) ⊦ n = 0, bits = [], bits2bytes(firstn(n, bits)) + i2b(bits2int(lastn(8, bits))) ' = bits2bytes(firstn(8, bits)) + (bits2bytes(firstn(# restn(8, bits) - 8, restn(8, bits))) + i2b(bits2int(lastn(8, restn(8, bits)))))
Used terms: restn(8, bits)