| abs(j) < 65536, ~32768 ≤ j, i0 * 65536 + j < ~32768, j ≤ 0, i0 ≤ 0, i0 * 65536 + j < 0 ⊦ # int2bits(j) ≤ 16, s2i(i2s(bits2int(lastn(16, int2bits(i0 * 65536 + j))))) = j |
16 < # int2bits(j), i0 * 65536 + j < 0, i0 ≤ 0, j ≤ 0, i0 * 65536 + j < ~32768, ~32768 ≤ j, abs(j) < 65536 ⊦ s2i(i2s(bits2int(lastn(16, int2bits(i0 * 65536 + j))))) = j
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ # bits = 0 ↔ bits = [];% ⊦ m < n → n ≠ 0; (forward)% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;