| ¬(¬(∃ i. j = ~(2 ^ i)) ∧ j < 0), 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 |
1 + i→n(i) - 2 = i→n(i) - 1, 2 ^ i0 + j = 0, # 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: ⊦ i < j → ¬ j < i;% ⊦ i ≠ j → (i ≤ j ↔ i < j);% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ ~ i = j ↔ i + j = 0;