| # bits1 = # bits ⊦ bits = [], bitsxor(boolvar ' + bits1, boolvar0 ' + bits) = (¬(boolvar ↔ boolvar0))' + bitsxor(bits1, bits) |
⊦ # bits0 = # bits2 ∧ bits ≠ [] ∧ bits0 ≠ [] ∧ bits1 ≠ [] → bitsxor(bits + bits0, bits1 + bits2) = bitsxor(bits, bits1) + bitsxor(bits0, bits2)
Used simplifier rules: bitsxor-bit: ⊦ bitsxor(boolvar ', boolvar0 ') = (¬(boolvar ↔ boolvar0))';% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ bits + bits0 = bits + bits1 ↔ bits0 = bits1;% ⊦ boolvar ' ≠ [];% ⊦ # [] = 0;% ⊦ # bits = 0 ↔ bits = []; Used terms: bits, boolvar0 ', bits1, boolvar '