| # bits0 % 8 = 0, # bits + # bits0 ≤ 8, ∀ 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 = [] |
⊦ # bits ≤ 8 → bits2bytes(bits) = i2b(bits2int(bits)) '
#(bits + bits0) ≤ 8, # bits0 % 8 = 0, # bits + # bits0 ≤ 8, ∀ bits1, bits2. # bits2 + # bits1 < # bits + # bits0 → # bits1 % 8 = 0 → bits2 = [] ∨ bits1 = [] ∨ bits2bytes(bits2 + bits1) = bits2bytes(bits2) + bits2bytes(bits1) ⊦ i2b(bits2int(bits + bits0)) ' = bits2bytes(bits) + bits2bytes(bits0), bits0 = [], bits = []
Used simplifier rules: ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m + n = n + m;% ⊦ m ≤ n → (n < m ↔ false); Used terms: bits + bits0