| # bits0 = 1 + # bits1, # bits1 < # bits0, # bits1 < # bits2 + # bits0 ⊦ bits1 = [], sgn(bitsand(lastn(# bits1, bits2 + bits0), false ' + bits1)) = sgn(bitsand(bits0, false ' + bits1)), bits2 + bits0 = [], # bits1 = # bits2 + # bits0, bits0 = [] |
⊦ n ≤ # bits → lastn(n, bits0 + bits) = lastn(n, bits)
# bits1 ≤ # bits0, # bits0 = 1 + # bits1, # bits1 < # bits0, # bits1 < # bits2 + # bits0 ⊦ bits1 = [], sgn(bitsand(lastn(# bits1, bits0), false ' + bits1)) = sgn(bitsand(bits0, false ' + bits1)), bits2 + bits0 = [], # bits1 = # bits2 + # bits0, bits0 = []
Used simplifier rules: ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m < n → ¬ n < m; Used terms: bits0, bits2, # bits1