| 0 < i, ∀ i0. i→n(i0) < i→n(i) → 0 < i0 → 2 ^ n→i(# uint2bits(i0)) = bits2uint(bitsinvert(uint2bits(i0))) + i0 + 1 ⊦ i = 1, 2 ^ (n→i(# uint2bits(i / 2)) + 1) = 1 + bits2uint(bitsinvert(uint2bits(i / 2)) + (i % 2 ≠ 1)') + i |
2 ^ n→i(# uint2bits(i / 2)) = bits2uint(bitsinvert(uint2bits(i / 2))) + i / 2 + 1, 0 < i, ∀ i0. i→n(i0) < i→n(i) → 0 < i0 → 2 ^ n→i(# uint2bits(i0)) = bits2uint(bitsinvert(uint2bits(i0))) + i0 + 1 ⊦ i = 1, 2 ^ (n→i(# uint2bits(i / 2)) + 1) = 1 + bits2uint(bitsinvert(uint2bits(i / 2)) + (i % 2 ≠ 1)') + i
Used simplifier rules: ⊦ 0 < j → (j < 2 ↔ j = 1);% ⊦ 0 < j → (i / j ≤ 0 ↔ i < j);% ⊦ i→n(i) < i→n(j) ↔ abs(i) < abs(j);%j ≠ 0 ⊦ abs(i / j) = abs(i) / abs(j);% ⊦ 0 < j → abs(j) = j;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ 0 < i → ¬ i ≤ i / 2; Used terms: i / 2