| bits = boolvar + bits1, # bits = # bits0 ⊦ bitsxor(bits, bits0) = (¬(boolvar ↔ bits0.first))' + bitsxor(bits1, bits0.rest), # bits0 = 1, bits = [] |
1 + # bits1 = # bits0 ⊦ # bits0 = 1, bitsxor(boolvar ' + bits1, bits0) = (¬(boolvar ↔ bits0.first))' + bitsxor(bits1, bits0.rest)
Used simplifier rules: ⊦ boolvar ' + bits ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # boolvar ' = 0 +1;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ boolvar + bits = boolvar ' + bits;