| bits0 = boolvar + bits1, bitsand(bits.butlast, bits0.butlast) = [], bits0.last, bits.last ⊦ bits0 = boolvar ', bits = bits.first ', bits = [], bits0 = [], bits = true ' |
bitsand(bits.butlast, boolvar ' + bits1.butlast) = [], bits.last, bits1.last ⊦ bits = bits.first ', bits = [], bits = true ', bits1 = []
Used simplifier rules: ⊦ bits ≠ [] → ((boolvar ' + bits).last ↔ bits.last);% ⊦ boolvar ' + bits ≠ [];% ⊦ bits ≠ [] → (bits0 + bits).butlast = bits0 + bits.butlast;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits = bits + bits0 ↔ bits0 = [];% ⊦ boolvar + bits = boolvar ' + bits;