| false ∈ bitsinvert(bits0), bits.first ⊦ bits + bits0 = [], bits = [], bits2uint((false ' + bitsinvert(bits0))+1) = bits2uint(bitsinvert(bits) + bitsinvert(bits0) +1), false ∈ bits |
bits.first, true ∈ bits0 ⊦ bits + bits0 = [], bits = [], bits2uint(bitsinvert(bits0) +1) = bits2uint(bitsinvert(bits) + bitsinvert(bits0) +1), false ∈ bits
Used simplifier rules: bits2uint-zeros-03: ⊦ bits2uint(false ' + bits) = bits2uint(bits);% ⊦ false ∈ bitsinvert(bits) ↔ true ∈ bits;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ false ∈ bits0 → (bits + bits0)+1 = bits + bits0 +1;