| s2i(sho0) = ~32768, 32767 ≤ abs(~32768 - s2i(sho1)), 0 < (~32768 - s2i(sho1)) / s2i(sho1), 0 ≤ (~32768 - s2i(sho1)) / s2i(sho1), 32766 < (~32768 - s2i(sho1)) / s2i(sho1), s2i(sho1) < 0, ~32768 < s2i(sho1) ⊦ ~32768 = s2i(sho1), s2i(sho1) = ~1, s2i(sho1) = 0 |
⊦ j < 0 → abs(j) = 0 - j
Used simplifier rules: numle-03: ⊦ i + (* j) ≤ (* j0) ↔ i ≤ j0 - j; from specification int-abs%sub-le-01: ⊦ i ≤ j - i0 ↔ i + i0 ≤ j; from specification int-abs%Abs-pos: ⊦ ¬ j < 0 → abs(j) = j; from specification int-abs%sub-ls: ⊦ i - j < i0 ↔ i < j + i0; from specification int-abs%ax-04: ⊦ i + 0 = i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2%numlelsdel-01: i0 ≠ 0, i0 ≤ i ⊦ (* i) < j → (* i0) < j; from specification int-abs%neg-06: ⊦ 0 - i = ~ i; from specification int-abs%minus-sub: ⊦ ~(i - j) = j - i; from specification int-abs%minus-neg: j < 0 ⊦ i - (* j) = i + ~ j; from specification int-abs%numle-02: ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0; from specification int-abs%mone-08: ⊦ i < 0 → (~1 ≤ i ↔ i = ~1); from specification int-abs Used terms: ~32768 - s2i(sho1)