| s2i(i2s(s2i(sho) + s2i(sho0))) < 0, 0 ≤ s2i(sho), s2i(sho0) < 0, s2i(sho) + s2i(sho0) < 0 ⊦ s2i(i2s(s2i(sho) + s2i(sho0))) = s2i(sho) + s2i(sho0) |
~32768 ≤ i, i ≤ 32767 ⊦ s2i(i2s((* i))) = i
Used simplifier rules: short-add-min-02: ⊦ 0 ≤ s2i(sho0) → ¬ s2i(sho0) + s2i(sho1) < ~32768;%short-add-max-01: ⊦ s2i(sho1) < 0 → ¬ 32767 < s2i(sho0) + s2i(sho1);% ⊦ i + j = j + i;% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i + j + i0 = (i + j) + i0; Used terms: s2i(sho) + s2i(sho0)