| ⊦ j < 0 → bits2int(int2bits(j)) = bits2int(int2bits(2 ^ n→i(# int2bits(~ j)) + j).rest) |
⊦ 0 ≤ i → int2bits(i) = uint2bits(i)
¬ 0 ≤ 2 ^ n→i(# int2bits(~ j)) + j ⊦ j < 0 → bits2int(int2bits(j)) = bits2int(int2bits(2 ^ n→i(# int2bits(~ j)) + j).rest)
0 ≤ 2 ^ n→i(# int2bits(~ j)) + j ⊦ j < 0 → bits2int(int2bits(j)) = bits2int(uint2bits(2 ^ n→i(# int2bits(~ j)) + j).rest)
Used terms: 2 ^ n→i(# int2bits(~ j)) + j