| 0 < i ⊦ i = bits2int(uint2bits(i).rest) + 2 ^ (n→i(# uint2bits(i)) - 1) |
⊦ bits.first ∧ bits ≠ [] → bits2int(bits) = ~ bits2uint(bitsinvert(true + bits.rest) +1)
¬(uint2bits(i).rest.first ∧ uint2bits(i).rest ≠ []), 0 < i ⊦ i = bits2int(uint2bits(i).rest) + 2 ^ (n→i(# uint2bits(i)) - 1)
uint2bits(i).rest.first ∧ uint2bits(i).rest ≠ [], 0 < i ⊦ i = ~ bits2uint(bitsinvert(true + uint2bits(i).rest.rest) +1) + 2 ^ (n→i(# uint2bits(i)) - 1)
Used terms: uint2bits(i).rest