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