| bits.first ⊦ bits + bits0 = [], bits = [], bits2uint((false ' + bitsinvert(bits0))+1) = bits2uint((bitsinvert(bits) + bitsinvert(bits0))+1), false ∈ bits |
⊦ false ∈ bits0 → (bits + bits0)+1 = bits + bits0 +1
¬ false ∈ bitsinvert(bits0), bits.first ⊦ bits + bits0 = [], bits = [], bits2uint((false ' + bitsinvert(bits0))+1) = bits2uint((bitsinvert(bits) + bitsinvert(bits0))+1), false ∈ bits
false ∈ bitsinvert(bits0), bits.first ⊦ bits + bits0 = [], bits = [], bits2uint((false ' + bitsinvert(bits0))+1) = bits2uint(bitsinvert(bits) + bitsinvert(bits0) +1), false ∈ bits
Used terms: bitsinvert(bits0), bitsinvert(bits)