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