| # bits1 < # bits0 ⊦ lastn(# bits1, fillsgn(# bits1, bitsand(bits1, bits0))) = lastn(# bits1, fillsgn(# bits1, bitsand(bits2 + bits1, bits0))), bits0 = [], bits2 + bits1 = [], bits2 = [] |
n ≤ # bits ⊦ ∃ bits0, bits1. bits = bits0 + bits1 ∧ # bits1 = n
∃ bits3, bits2. bits0 = bits3 + bits2 ∧ # bits2 = # bits1, # bits1 < # bits0 ⊦ lastn(# bits1, fillsgn(# bits1, bitsand(bits1, bits0))) = lastn(# bits1, fillsgn(# bits1, bitsand(bits2 + bits1, bits0))), bits0 = [], bits2 + bits1 = [], bits2 = []
Used simplifier rules: ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m < n → ¬ n < m; Used terms: # bits1, bits0