| # int2bits(j % 2 ^ (i * 8)) < 8 * i→n(i), 2 ^ (i * 8) ≤ j, 0 ≤ j % 2 ^ (i * 8), 0 < i, i→n(i) ≤ # int2bits(j % 2 ^ (i * 8)) / 8 ⊦ bits2bytes(mklist(false, 8 * i→n(i) - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))) = fix(i→n(i) + 1, bits2bytes(int2bits(j % 2 ^ (i * 8)))).rest, mklist(false, 8 * i→n(i) - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8)) = [], 1 + 8 * i→n(i) = # int2bits(j % 2 ^ (i * 8)), # int2bits(j % 2 ^ (i * 8)) = 8 * i→n(i), i = 0, # int2bits(j % 2 ^ (i * 8)) % 8 = 0 |
Used simplifier rules: ⊦ i * j = j * i;% ⊦ m < n ∧ m = n0 → n0 < n; (forward)% ⊦ m < n → n ≠ 0; (forward)% ⊦ n0 < m0 → (m0 * m + n0 < m0 * n ↔ m < n);% ⊦ m ≤ n → (n < m ↔ false);% ⊦ m0 * m * n = (m0 * m) * n;% ⊦ m * n = n * m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;%n ≠ 0 ⊦ m0 = m / n ∧ n0 = m % n ↔ m = m0 * n + n0 ∧ n0 < n; (elim) Used terms: # int2bits(j % 2 ^ (i * 8)), 8, m, n