| # bits1 ≤ # bitsand(bits1, true ' + bits), # bits < # bits1 ⊦ lastn(# bits1, bitsand(bits1, true ' + bits)) = lastn(# bits1, fillsgn(# bits1, bits2 + bitsand(bits1, true ' + bits))), bits2 + bits1 = [], bits2 = [], bits1 = [] |
# bits1 ≤ # bitsand(bits1, true ' + bits), # bits < # bits1, # bits < # bitsand(bits1, true ' + bits) ⊦ lastn(# bits1, bitsand(bits1, true ' + bits)) = lastn(# bits1, fillsgn(# bits1, bits2 + bitsand(bits1, true ' + bits))), bits2 + bits1 = [], bits2 = [], bits1 = []
Used simplifier rules: and-notempty-01: ⊦ bits ≠ [] → bitsand(bits, boolvar ' + bits0) ≠ [];% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ # bits = 0 ↔ bits = [];% ⊦ m < n → n ≠ 0; (forward)% ⊦ m < n ∧ n ≤ n0 → m < n0; (forward)