| ¬(j ≤ ~(2 ^ i) ∧ 0 < i ∧ j % 2 ^ i ≠ 0), i→n(i) ≤ # int2bits(j), 0 < i, j < 0, j % 2 ^ i + 2 ^ (i - 1) < 0, j < 2 ^ (i - 1), 2 ^ (i - 1) + j < 0 ⊦ i = 1, j = ~1, bits2int(lastn(i→n(i), int2bits(j))) = j % 2 ^ i + 2 ^ i |
i→n(i) ≤ # int2bits(j), 0 < i, j < 0, j % 2 ^ i + 2 ^ (i - 1) < 0, j < 2 ^ (i - 1), 2 ^ (i - 1) + j < 0 ⊦ i = 1, j = ~1, bits2int(lastn(i→n(i), int2bits(j))) = j % 2 ^ i + 2 ^ i, ¬ 0 < j + 2 ^ i ∧ j % 2 ^ i ≠ 0
Used simplifier rules: ⊦ i < j → (¬ ¬ j ≤ i ↔ false);% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i ≤ ~ j ↔ i + j ≤ 0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;