| ¬((bits + bits0).first ∧ bits + bits0 ≠ []) ⊦ bits = [], bits2uint((false ' + bitsinvert(bits0))+1) + bits2int(bits + bits0) = 0, false ∈ bits |
⊦ bits = [], bits2uint((false ' + bitsinvert(bits0))+1) + bits2int(bits + bits0) = 0, false ∈ bits, bits.first
Used simplifier rules: ⊦ ¬ bits + bits0 ≠ [] ↔ bits = [] ∧ bits0 = [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits ≠ [] → ((bits + bits0).first ↔ bits.first);