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