| bitsinvert(bits) ≠ [] ∧ ¬ bitsinvert(bits).last, bits.first ⊦ bits + bits0 = [], bits = [], 2 ^ n→i(# bits0) = bits2uint((bitsinvert(bits).butlast + true) + bits0), false ∈ bits, true ∈ bits0 |
bits.first ⊦ bits + bits0 = [], bits = [], 2 ^ n→i(# bits0) = bits2uint((bitsinvert(bits).butlast + true ') + bits0), false ∈ bits, true ∈ bits0
Used simplifier rules: bits ≠ [] ⊦ ¬ false ∈ bits → ¬ bitsinvert(bits).last;% ⊦ bitsinvert(bits) = [] ↔ bits = [];% ⊦ bits + boolvar = bits + boolvar ';