| ((n - n0) * 8 - 8) % 8 = 0 ∧ (n - n0) * 8 - 8 ≠ 0, # bits = n0 * 8, n0 < n, n0 + 1 < n, 8 ≤ (n - n0) * 8 ⊦ bits = [], n = n0, mklist(i2b(0), n - n0) = i2b(0) ' + mklist(i2b(0), ((n - n0) * 8 - 8) / 8), bits.first |
((n - n0) * 8 - 8) % 8 = 0, # bits = n0 * 8, n0 < n, n0 + 1 < n, 8 ≤ (n - n0) * 8 ⊦ bits = [], n = n0, mklist(i2b(0), n - n0) = i2b(0) ' + mklist(i2b(0), ((n - n0) * 8 - 8) / 8), n - n0 = 1, bits.first
Used simplifier rules: ⊦ m * n = n * m;% ⊦ m0 * m * n = (m0 * m) * n;% ⊦ m * n = m ↔ ¬ ¬(m = 0 ∨ n = 1);% ⊦ m ≤ n → (n - m = 0 ↔ n = m);