| # bits0 % 8 = 0, ∀ bits1, bits2. # bits2 + # bits1 < # bits + # bits0 → # bits1 % 8 = 0 → bits2 = [] ∨ bits1 = [] ∨ bits2bytes(bits2 + bits1) = bits2bytes(bits2) + bits2bytes(bits1) ⊦ bits2bytes(bits + bits0) = bits2bytes(bits) + bits2bytes(bits0), bits0 = [], bits = [] |
⊦ 8 < # bits → bits2bytes(bits) = bits2bytes(firstn(# bits - 8, bits)) + i2b(bits2int(lastn(8, bits)))
¬ 8 < #(bits + bits0), # bits0 % 8 = 0, ∀ bits1, bits2. # bits2 + # bits1 < # bits + # bits0 → # bits1 % 8 = 0 → bits2 = [] ∨ bits1 = [] ∨ bits2bytes(bits2 + bits1) = bits2bytes(bits2) + bits2bytes(bits1) ⊦ bits2bytes(bits + bits0) = bits2bytes(bits) + bits2bytes(bits0), bits0 = [], bits = []
8 < #(bits + bits0), # bits0 % 8 = 0, ∀ bits1, bits2. # bits2 + # bits1 < # bits + # bits0 → # bits1 % 8 = 0 → bits2 = [] ∨ bits1 = [] ∨ bits2bytes(bits2 + bits1) = bits2bytes(bits2) + bits2bytes(bits1) ⊦ bits2bytes(firstn(#(bits + bits0) - 8, bits + bits0)) + i2b(bits2int(lastn(8, bits + bits0))) = bits2bytes(bits) + bits2bytes(bits0), bits0 = [], bits = []
Used terms: bits + bits0