| ∀ bits, bits1. # bits1 < #(bits2 + boolvar ') → true → bits = [] ∨ bits1 = [] ∨ bits2int(bitsxor(bits, bits1)) = bits2int(bitsor(bitsand(bitsinvert(bits), bits1), bitsand(bitsinvert(bits1), bits))) ⊦ bits0 = [], bits2 = [], bits2int(bitsxor(bits0 + boolvar0 ', bits2 + boolvar ')) = bits2int(bitsor(bitsand(bitsinvert(bits0), bits2) + (¬ boolvar0 ∧ boolvar)', bitsand(bitsinvert(bits2), bits0) + (¬ boolvar ∧ boolvar0)')) |
⊦ 1 < # bits ∧ 1 < # bits0 → bitsor(bits, bits0) = bitsor(bits.butlast, bits0.butlast) + (bits.last ∨ bits0.last)
¬(1 < #(bitsand(bitsinvert(bits0), bits2) + (¬ boolvar0 ∧ boolvar)') ∧ 1 < #(bitsand(bitsinvert(bits2), bits0) + (¬ boolvar ∧ boolvar0)')), ∀ bits, bits1. # bits1 < #(bits2 + boolvar ') → true → bits = [] ∨ bits1 = [] ∨ bits2int(bitsxor(bits, bits1)) = bits2int(bitsor(bitsand(bitsinvert(bits), bits1), bitsand(bitsinvert(bits1), bits))) ⊦ bits0 = [], bits2 = [], bits2int(bitsxor(bits0 + boolvar0 ', bits2 + boolvar ')) = bits2int(bitsor(bitsand(bitsinvert(bits0), bits2) + (¬ boolvar0 ∧ boolvar)', bitsand(bitsinvert(bits2), bits0) + (¬ boolvar ∧ boolvar0)'))
1 < #(bitsand(bitsinvert(bits0), bits2) + (¬ boolvar0 ∧ boolvar)') ∧ 1 < #(bitsand(bitsinvert(bits2), bits0) + (¬ boolvar ∧ boolvar0)'), ∀ bits, bits1. # bits1 < #(bits2 + boolvar ') → true → bits = [] ∨ bits1 = [] ∨ bits2int(bitsxor(bits, bits1)) = bits2int(bitsor(bitsand(bitsinvert(bits), bits1), bitsand(bitsinvert(bits1), bits))) ⊦ bits0 = [], bits2 = [], bits2int(bitsxor(bits0 + boolvar0 ', bits2 + boolvar ')) = bits2int ( bitsor ((bitsand(bitsinvert(bits0), bits2) + (¬ boolvar0 ∧ boolvar)').butlast, (bitsand(bitsinvert(bits2), bits0) + (¬ boolvar ∧ boolvar0)').butlast) + ((bitsand(bitsinvert(bits0), bits2) + (¬ boolvar0 ∧ boolvar)').last ∨ (bitsand(bitsinvert(bits2), bits0) + (¬ boolvar ∧ boolvar0)').last))
Used terms: bitsand(bitsinvert(bits2), bits0) + (¬ boolvar ∧ boolvar0)', bitsand(bitsinvert(bits0), bits2) + (¬ boolvar0 ∧ boolvar)'