| ⊦ ¬ # bits1 < # bits0, bits2 = [], bits2 + bits1 = [], bits0 = [], lastn(# bits1, fillsgn(# bits1, bitsand(bits1, bits0))) = lastn(# bits1, fillsgn(# bits1, bitsand(bits2 + bits1, bits0))), ¬ # bits1 < # bits0 ∧ ¬ bits0.first, ¬ # bits1 < # bits0 ∧ bits0.first |
# bits1 < # bits0 ⊦ lastn(# bits1, fillsgn(# bits1, bitsand(bits1, bits0))) = lastn(# bits1, fillsgn(# bits1, bitsand(bits2 + bits1, bits0))), bits0 = [], bits2 + bits1 = [], bits2 = []
Used simplifier rules: ⊦ # bits = 0 ↔ bits = [];% ⊦ m < n → n ≠ 0; (forward)