| ¬(1 < # bits1 ∧ 1 < # bits), # bits1 = # bits, ∀ boolvar0, boolvar, bits1, bits0. # bits0 < # bits → # bits1 = # bits0 → bits0 = [] ∨ bitsand(boolvar ' + bits1, boolvar0 ' + bits0) = (boolvar ∧ boolvar0)' + bitsand(bits1, bits0) ⊦ bitsand(boolvar ' + bits1, boolvar0 ' + bits) = (boolvar ∧ boolvar0)' + bitsand(bits1, bits), bits = [] |
# 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)
Used simplifier rules: ⊦ # [] = 0;% ⊦ # bits = 0 ↔ bits = [];% ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1);