| ⊦ s2i(sho1) ≠ ~1, s2i(sho1) = 0, ~32768 ≤ s2i(sho0) / s2i(sho1) ∧ s2i(sho0) / s2i(sho1) ≤ 32767 ↔ s2i(sho1) ≠ ~1 ∨ s2i(sho0) ≠ ~32768 |
s2i(sho1) = ~1 ⊦ ~32767 ≤ s2i(sho0) ↔ s2i(sho0) ≠ ~32768
Used simplifier rules: inshort-le-num: 32768 ≤ i ⊦ s2i(sho0) ≤ (* i);%numle-02: ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0; from specification int-abs%negle-13: ⊦ ~ i ≤ j ↔ 0 ≤ i + j; from specification int-abs%sub-le: ⊦ i - j ≤ i0 ↔ i ≤ j + i0; from specification int-abs%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%minus-add: i < 0 ⊦ (* i) + j = j - ~ i; from specification int-abs%negle-07: ⊦ i ≤ ~ j ↔ i + j ≤ 0; from specification int-abs%div-mone-01: ⊦ i / ~1 = ~ i; from specification int-div