| 1 + i→n(i) - 2 = i→n(i) - 1, # int2bits(j) < # int2bits(abs(j)), i→n(i) < # int2bits(abs(j)), 0 < i, # int2bits(j) < i→n(i), # int2bits(j) + 1 < # int2bits(abs(j)) ⊦ j = 0, abs(j) = 2 ^ n→i(i→n(i) - 1), i = 0, band(j, 2 ^ i - 1) = bits2uint(fillsgn(i→n(i), int2bits(j))) |
⊦ ¬ j < 0 → abs(j) = j
¬ ¬ j < 0, 1 + i→n(i) - 2 = i→n(i) - 1, # int2bits(j) < # int2bits(abs(j)), i→n(i) < # int2bits(abs(j)), 0 < i, # int2bits(j) < i→n(i), # int2bits(j) + 1 < # int2bits(abs(j)) ⊦ j = 0, abs(j) = 2 ^ n→i(i→n(i) - 1), i = 0, band(j, 2 ^ i - 1) = bits2uint(fillsgn(i→n(i), int2bits(j)))
Used simplifier rules: ⊦ ¬ i < j → (i ≠ j ↔ j < i);% ⊦ ¬ n < n; Used terms: j