| # 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 = [] |
⊦ # bits ≤ 8 → bits2bytes(bits) = i2b(bits2int(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) + i2b(bits2int(bits0)) ', bits0 = [], bits = []
Used simplifier rules: ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m < n → n ≠ 0; (forward)% ⊦ m ≤ n ∧ n < n0 → m < n0; (forward)% ⊦ # bits = 0 ↔ bits = [];% ⊦ ¬ m + n < m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m; Used terms: bits0