| # int2bits(j % 2 ^ (i * 8)) ≤ i→n(i * 8) + 1 ∧ int2bits(j % 2 ^ (i * 8)) ≠ [], # (mklist(int2bits(j % 2 ^ (i * 8)).first, i→n(i * 8) + 1 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))).rest % 8 = 0, 2 ^ (i * 8) ≤ j, 0 < i ⊦ (mklist(int2bits(j % 2 ^ (i * 8)).first, i→n(i * 8) + 1 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))).rest = [], bits2bytes((mklist(int2bits(j % 2 ^ (i * 8)).first, i→n(i * 8) + 1 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))).rest) = fix(i→n(i) + 1, bits2bytes(int2bits(j % 2 ^ (i * 8)))).rest |
# (mklist(j % 2 ^ (i * 8) < 0, i→n(i * 8) + 1 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))).rest % 8 = 0, # int2bits(j % 2 ^ (i * 8)) ≤ i→n(i * 8) + 1, 2 ^ (i * 8) ≤ j, 0 < i ⊦ (mklist(¬ 0 ≤ j % 2 ^ (i * 8), i→n(i * 8) + 1 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))).rest = [], bits2bytes((mklist(¬ 0 ≤ j % 2 ^ (i * 8), i→n(i * 8) + 1 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))).rest) = fix(i→n(i) + 1, bits2bytes(int2bits(j % 2 ^ (i * 8)))).rest
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ i * j = j * i;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ int2bits(j).first ↔ j < 0;