| ¬(¬ 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 = [] |
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), bitsinvert(bits) +1.first ⊦ bits = []
Used simplifier rules: ⊦ ¬ bits +1 ≠ [] ↔ false;