| 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 = [] |
⊦ bits.first ∧ bits ≠ [] → uint2bits(bits2uint(bits)) = false ' + 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 ≤ #(false ' + bitsinvert(bits) +1), 0 ≤ bits2uint(bitsinvert(bits) +1), bitsinvert(bits) +1.first ⊦ bits = []
Used simplifier rules: ⊦ ¬ bits +1 ≠ [] ↔ false; Used terms: bitsinvert(bits) +1