| ¬(int2bits(j) ≠ [] ∧ # int2bits(j) < 17), 16 = # fillsgn(17, int2bits(j)).rest, 0 < i0, 0 ≤ i0, 0 ≤ j, 0 < 65536 * i0 + j, j ≤ 32767, 32767 < 65536 * i0 + j ⊦ s2i(i2s(bits2int(fillsgn(17, int2bits(j)).rest))) = j |
16 = # int2bits(j).rest, 17 ≤ # int2bits(j), 32767 < 65536 * i0 + j, j ≤ 32767, 0 < 65536 * i0 + j, 0 ≤ j, 0 ≤ i0, 0 < i0 ⊦ s2i(i2s(bits2int(int2bits(j).rest))) = j
Used simplifier rules: ⊦ # bits = 0 ↔ bits = [];% ⊦ i + j = j + i;% ⊦ i * j = j * i;%0 < n ⊦ (* n) ≤ m → m ≠ 0; (forward)% ⊦ n ≤ # bits → fillsgn(n, bits) = bits;% ⊦ ¬ m < n ↔ n ≤ m;% ⊦ int2bits(j) ≠ [];