| int2bits(j) ≠ [], 8 < (# int2bits(j))-1, j < ~128, 256 * i0 + j < ~128, ~256 < j, j < 0, 256 * i0 + j < 0, i0 < 0 ⊦ b2i(i2b(bits2int(lastn(8, int2bits(i0 - 1) + fillsgn(8, int2bits(j).rest))))) = 256 + j, 8 = # fillsgn(8, int2bits(j).rest), int2bits(j).rest = [] |
9 < # int2bits(j), i0 < 0, 256 * i0 + j < 0, j < 0, ~256 < j, 256 * i0 + j < ~128, j < ~128 ⊦ int2bits(j).rest = [], 8 = # fillsgn(8, int2bits(j).rest), b2i(i2b(bits2int(lastn(8, int2bits(i0 - 1) + fillsgn(8, int2bits(j).rest))))) = 256 + j
Used simplifier rules: ⊦ m < n → n ≠ 0; (forward)%n0 ≤ n ⊦ m < n - n0 ↔ m + n0 < n;% ⊦ i * j = j * i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ ¬ m ≤ n ↔ n < m;% ⊦ m < 1 ↔ m = 0;% ⊦ # bits = 0 ↔ bits = [];% ⊦ n -1 = n - 1;% ⊦ int2bits(j) ≠ [];