| # bits2bytes(bits) < n, # bits ≤ 8 * n ⊦ n * 8 ≠ # bits, mklist(i2b(0), n - # bits2bytes(bits)) + bits2bytes(bits) = bits2bytes(mklist(false, n * 8 - # bits) + bits), bits = [], bits.first, # bits % 8 = 0 ∧ n * 8 ≠ # bits |
n * 8 = # bits, # bits2bytes(bits) < n ⊦ bits = [], bits.first
Used simplifier rules: ⊦ m ≤ m;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ n < m → m - n ≠ 0;% ⊦ mklist(by, m) = [] ↔ m = 0;% ⊦ bytes = bytes0 + bytes ↔ bytes0 = [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ [] + bits = bits;% ⊦ mklist(boolvar, 0) = [];% ⊦ m - m = 0;% ⊦ m * n = n * m;