| bits2int(bitsxor(bits0, bits2)) = bits2int(bitsor(bitsand(bitsinvert(bits0), bits2), bitsand(bitsinvert(bits2), bits0))), ∀ bits, bits1. # bits1 < #(bits2 + boolvar ') → true → bits = [] ∨ bits1 = [] ∨ bits2int(bitsxor(bits, bits1)) = bits2int(bitsor(bitsand(bitsinvert(bits), bits1), bitsand(bitsinvert(bits1), bits))) ⊦ bitsxor(bits0, bits2) ≠ [], bitsand(bitsinvert(bits0), bits2) = [], bitsand(bitsinvert(bits2), bits0) = [], bits0 = [], bits2 = [], bits2int(bitsxor(bits0, bits2) + (¬(boolvar0 ↔ boolvar))') = bits2int(bitsor(bitsand(bitsinvert(bits0), bits2), bitsand(bitsinvert(bits2), bits0)) + (¬ boolvar0 ∧ boolvar ∨ ¬ boolvar ∧ boolvar0)'), (boolvar0 ↔ boolvar) ∧ bitsxor(bits0, bits2) ≠ [] |
bits2int([]) = bits2int(bitsor(bitsand(bitsinvert(bits0), bits2), bitsand(bitsinvert(bits2), bits0))), bitsxor(bits0, bits2) = [], ∀ bits, bits1. # bits1 < #(bits2 + boolvar ') → true → bits = [] ∨ bits1 = [] ∨ bits2int(bitsxor(bits, bits1)) = bits2int(bitsor(bitsand(bitsinvert(bits), bits1), bitsand(bitsinvert(bits1), bits))) ⊦ bits2 = [], bits0 = [], bitsand(bitsinvert(bits2), bits0) = [], bitsand(bitsinvert(bits0), bits2) = [], bits2int((¬(boolvar0 ↔ boolvar))') = bits2int(bitsor(bitsand(bitsinvert(bits0), bits2), bitsand(bitsinvert(bits2), bits0)) + (¬ boolvar0 ∧ boolvar ∨ ¬ boolvar ∧ boolvar0)')
Used simplifier rules: ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ [] + bits = bits;