| 17 ≤ # int2bits(j0), 16 = # int2bits(j0).rest, # int2bits(j0) = 17, 0 < j0, 0 < i0 * 65536 + j0, 0 ≤ i0, 0 ≤ j0, 32767 < j0, 32767 < i0 * 65536 + j0, j0 < 65536, 0 < i0 ⊦ j0 = s2i(i2s(bits2int(int2bits(j0).rest))) + 65536 |
# int2bits(j0) = 17, 16 = # int2bits(j0).rest, 0 < i0, j0 < 65536, 32767 < i0 * 65536 + j0, 32767 < j0, 0 ≤ j0, 0 ≤ i0, 0 < i0 * 65536 + j0, 0 < j0 ⊦ j0 = s2i(i2s(bits2int(int2bits(j0).rest))) + 65536
Used simplifier rules: not-zero: 0 < n ⊦ (* n) ≤ m → m ≠ 0; (forward) from specification nat%add-c: ⊦ i + j = j + i; from specification int-basic2%commutativity: ⊦ i * j = j * i; from specification int-mult