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