| 8 < # mklist(true, n), n % 8 = 0, ∀ n0. n0 < n → n0 % 8 = 0 → n0 = 0 ∨ bits2bytes(mklist(true, n0)) = mklist(i2b(~1), n0 / 8) ⊦ bits2bytes(firstn(# mklist(true, n) - 8, mklist(true, n))) + i2b(bits2int(lastn(8, mklist(true, n)))) = mklist(i2b(~1), n / 8), n = 0 |
n % 8 = 0, 8 < n, ∀ n0. n0 < n → n0 % 8 = 0 → n0 = 0 ∨ bits2bytes(mklist(true, n0)) = mklist(i2b(~1), n0 / 8) ⊦ bits2bytes(firstn(n - 8, mklist(true, n))) + i2b(bits2int(lastn(8, mklist(true, n)))) ' = mklist(i2b(~1), n / 8)
Used simplifier rules: ⊦ m < n → n ≠ 0; (forward)% ⊦ m < n → n ≠ 0;% ⊦ bytes + by = bytes + by ';% ⊦ # mklist(boolvar, n) = n;