| ¬ # bits2bytes(bits) ≥ m + 1, # bits = 8 * m + n0, n0 < 8, # bits ≤ 8 * m + 8 ⊦ bits = [], n0 = 0, fix(m + 1, bits2bytes(bits)) = bits2bytes(mklist(bits.first, 8 * m + 8 - # bits) + bits) |
# bits = 8 * m + n0, n0 < 8, # bits ≤ 8 * m + 8, # bits2bytes(bits) ≤ m ⊦ bits = [], n0 = 0, fix(m + 1, bits2bytes(bits)) = bits2bytes(mklist(bits.first, 8 * m + 8 - # bits) + bits)
Used simplifier rules: ⊦ m * n = n * m;% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ ¬ m < n ↔ n ≤ m;% ⊦ m + 1 ≤ n ↔ m < n;% ⊦ n ≥ m ↔ m ≤ n;