| 7 = # fillsgn(7, int2bits(i)), # bits1 = # int2bits(i), int2bits(j) = (bits0 + bits2) + bits1, # bits2 + # bits1 = 8, 8 ≤ # bits0 + # bits2 + # bitsand(bits1, int2bits(i)), 8 ≤ # bits2 + # bitsand(bits1, int2bits(i)), # bits1 < # bits2 + # bitsand(bits1, int2bits(i)), # bits1 < # bits0 + # bits2 + # bitsand(bits1, int2bits(i)), # bits1 < 8, i < 0 ⊦ bits1 = [], bits2 + bitsand(bits1, int2bits(i)) = [], lastn(8, bits0 + bits2 + bitsand(bits1, int2bits(i))) = lastn(8, bits2 + bitsand(bits1, int2bits(i))), bits2 = [] |
⊦ n ≤ # bits → lastn(n, bits0 + bits) = lastn(n, bits)
Used simplifier rules: ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m ≤ n → (n < m ↔ false); Used terms: bits2 + bitsand(bits1, int2bits(i)), bits0, 8