| uint2bits(~ i) = false ' + true ' + bits, false ∈ false ' + true ' + bits, sgn(bitsinvert(false ' + true ' + bits) +1).first, i < 0 ⊦ bits2uint((false ' + bitsinvert(sgn(bitsinvert(false ' + true ' + bits) +1).rest))+1) + i = 0 |
⊦ true ∈ bits → sgn(bitsinvert(false ' + true ' + bits) +1) = true ' + false ' + bitsinvert(bits) +1
¬ true ∈ bits, uint2bits(~ i) = false ' + true ' + bits, false ∈ false ' + true ' + bits, sgn(bitsinvert(false ' + true ' + bits) +1).first, i < 0 ⊦ bits2uint((false ' + bitsinvert(sgn(bitsinvert(false ' + true ' + bits) +1).rest))+1) + i = 0
true ∈ bits, uint2bits(~ i) = false ' + true ' + bits, false ∈ false ' + true ' + bits, (true ' + false ' + bitsinvert(bits) +1).first, i < 0 ⊦ bits2uint((false ' + bitsinvert((true ' + false ' + bitsinvert(bits) +1).rest))+1) + i = 0
Used terms: bits