| 8 < # bits, 8 < # bits, ∀ bits0. # bits0 < # bits → true → bits0 = [] ∨ # bits2bytes(bits0) = (# bits0 - 1) / 8 + 1 ⊦ bits = [], #(bits2bytes(firstn(# bits - 8, bits)) + i2b(bits2int(lastn(8, bits)))) = (# bits - 1) / 8 + 1 |
8 < # bits, ∀ bits0. # bits0 < # bits → true → bits0 = [] ∨ # bits2bytes(bits0) = (# bits0 - 1) / 8 + 1 ⊦ bits = [], # bits2bytes(firstn(# bits - 8, bits)) = (# bits - 1) / 8
Used simplifier rules: ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = m + n0 ↔ n = n0;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ # by ' = 0 +1;% ⊦ #(bytes + bytes0) = # bytes + # bytes0;% ⊦ bytes + by = bytes + by ';