| 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 |
⊦ 0 ≤ i → j ^ (i + 1) = j ^ i * j
0 ≤ n→i(# uint2bits(i / 2)), 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)) * 2 = 1 + bits2uint(bitsinvert(uint2bits(i / 2)) + (i % 2 ≠ 1)') + i
Used simplifier rules: ⊦ 0 ≤ n→i(n); Used terms: n→i(# uint2bits(i / 2)), 2