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