| # bits1 ≠ # bitsand(bits1, true ' + bits), # 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 = [] |
# bits1 < # bitsand(bits1, true ' + bits), # bits < # bitsand(bits1, true ' + bits), # bits < # bits1, # bits + 1 < # bitsand(bits1, true ' + bits) ⊦ # bits1 = # bitsand(bits1, true ' + bits), bits1 = [], bits2 = [], bits2 + bits1 = [], lastn(# bits1, bitsand(bits1, true ' + bits)) = lastn(# bits1, fillsgn(# bits1, bits2 + bitsand(bits1, true ' + bits)))
Used simplifier rules: ⊦ m +1 = m + 1;% ⊦ n < n0 ∧ n0 < n1 → n +1 < n1; (forward)% ⊦ m ≠ n → (m ≤ n ↔ m < n);