| true ∈ bits0 ⊦ bits0 = [], bits2uint(bitsinvert(bits1)) * 2 ^ n→i(# bitsinvert(bits0) +1) + bits2uint(bitsinvert(bits0) +1) = (bits2uint(bitsinvert(bits1)) * 2 ^ n→i(# bits0) + bits2uint(bitsinvert(bits0))) + 1, bitsinvert(bits0) +1 = [] |
⊦ bits ≠ [] → bits2uint(bits +1) = bits2uint(bits) + 1
bitsinvert(bits0) ≠ [], true ∈ bits0 ⊦ bits0 = [], bits2uint(bitsinvert(bits1)) * 2 ^ n→i(# bitsinvert(bits0) +1) + bits2uint(bitsinvert(bits0)) + 1 = (bits2uint(bitsinvert(bits1)) * 2 ^ n→i(# bits0) + bits2uint(bitsinvert(bits0))) + 1, bitsinvert(bits0) +1 = []
Used simplifier rules: ⊦ bitsinvert(bits) = [] ↔ bits = []; Used terms: bitsinvert(bits0)