| # bits1 = 1, # bits = 1, ∀ boolvar0, boolvar, bits1, bits0. # bits0 < 1 → # bits1 = # bits0 → bits0 = [] ∨ bitsand(boolvar ' + bits1, boolvar0 ' + bits0) = (boolvar ∧ boolvar0)' + bitsand(bits1, bits0) ⊦ bits1 = [], bits = [], bitsand(boolvar ' + bits1, boolvar0 ' + bits) = (boolvar ∧ boolvar0)' + bitsand(bits1, bits) |
⊦ bits ≠ [] ∧ bits0 = true ' → bitsand(bits, bits0) = bits
¬(bits1 ≠ [] ∧ bits = true '), # bits1 = 1, # bits = 1, ∀ boolvar0, boolvar, bits1, bits0. # bits0 < 1 → # bits1 = # bits0 → bits0 = [] ∨ bitsand(boolvar ' + bits1, boolvar0 ' + bits0) = (boolvar ∧ boolvar0)' + bitsand(bits1, bits0) ⊦ bits1 = [], bits = [], bitsand(boolvar ' + bits1, boolvar0 ' + bits) = (boolvar ∧ boolvar0)' + bitsand(bits1, bits)
bits1 ≠ [] ∧ bits = true ', # bits1 = 1, # bits = 1, ∀ boolvar0, boolvar, bits1, bits0. # bits0 < 1 → # bits1 = # bits0 → bits0 = [] ∨ bitsand(boolvar ' + bits1, boolvar0 ' + bits0) = (boolvar ∧ boolvar0)' + bitsand(bits1, bits0) ⊦ bits1 = [], bits = [], bitsand(boolvar ' + bits1, boolvar0 ' + bits) = (boolvar ∧ boolvar0)' + bits1
Used terms: bits, bits1