| s2i(sho) < 0, 0 ≤ 2 ^ 16 + s2i(sho) ∧ 32767 < (2 ^ 16 + s2i(sho)) % 65536, ¬(~32768 ≤ 2 ^ 16 + s2i(sho) ∧ 2 ^ 16 + s2i(sho) ≤ 32767) ⊦ (2 ^ 16 + s2i(sho)) % 65536 - 65536 = s2i(sho) |
0 < (s2i(sho) + 65536) % 65536, s2i(sho) < 0, 32767 < (s2i(sho) + 65536) % 65536, ~65536 ≤ s2i(sho) ⊦ (s2i(sho) + 65536) % 65536 = s2i(sho) + 65536
Used simplifier rules: short-nle: ⊦ ¬ s2i(sho) ≤ ~32769;%i0 ≠ 0, i0 < i ⊦ (* i) < j → (* i0) < j;% ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ i ≤ j ∧ j < j0 → i < j0; (forward)% ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward)% ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward)% ⊦ i + (* j) ≤ (* j0) ↔ i ≤ j0 - j;%i0 ≠ 0, i0 ≤ i ⊦ (* i) ≤ j → (* i0) ≤ j;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0;% ⊦ i - j = i0 ↔ i = i0 + j;