| ⊦ bits + bits0 = [], bits2uint(bits + bits0) = bits2uint(bits) * 2 ^ n→i(# bits0) + bits2uint(bits0), bits = [], bits0 = [], bits.first |
bits = boolvar + bits1 ⊦ bits + bits0 = [], bits2uint(bits + bits0) = bits2uint(bits) * 2 ^ n→i(# bits0) + bits2uint(bits0), bits = [], bits0 = [], boolvar
Used simplifier rules: bits ≠ [] ⊦ (boolvar ↔ bits.first) ∧ bits0 = bits.rest ↔ bits = boolvar + bits0; (elim) Used terms: bits, boolvar, bits1