| ¬ ¬ 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))) |
1 + i→n(i) - 2 = i→n(i) - 1, # int2bits(j) < # int2bits(~ j), j < 0, # int2bits(j) < i→n(i), 0 < i, i→n(i) < # int2bits(~ j), # int2bits(j) + 1 < # int2bits(~ j) ⊦ j + 2 ^ n→i(i→n(i) - 1) = 0, j = 0, band(j, 2 ^ i - 1) = bits2uint(fillsgn(i→n(i), int2bits(j))), i = 0
Used simplifier rules: ⊦ m +1 = m + 1;% ⊦ int2bits(j) ≠ [];% ⊦ # bits = 0 ↔ bits = [];% ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward)% ⊦ n < n0 ∧ n0 < n1 → n +1 < n1; (forward)% ⊦ m < n → n ≠ 0; (forward)% ⊦ ~ i = j ↔ i + j = 0;% ⊦ i < 0 → abs(i) = ~ i;