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