| 8 = # fillsgn(8, int2bits(j0)), ~128 < j0, i0 * 256 + j0 < 0, ~128 ≤ j0, i0 * 256 + j0 ≤ ~256, i0 < 0, j0 < 0 ⊦ b2i(i2b(bits2int(fillsgn(8, int2bits(j0))))) = j0, ~256 ≠ i0 * 256 + j0 ∧ fillsgn(8, int2bits(j0)).first |
~256 = i0 * 256 + j0, 8 = # fillsgn(8, int2bits(j0)), j0 < 0, i0 < 0, ~128 ≤ j0, ~128 < j0 ⊦ b2i(i2b(bits2int(fillsgn(8, int2bits(j0))))) = j0
Used simplifier rules: int2bits-first-01: ⊦ j < 0 → int2bits(j).first; from specification int2bits%int2bits-fillfirst: ⊦ fillsgn(n, int2bits(j)).first ↔ int2bits(j).first; from specification int2bits%add-c: ⊦ i + j = j + i; from specification int-basic2%commutativity: ⊦ i * j = j * i; from specification int-mult