| s2i(sho) = 256 * (j0 - 1), 255 + j0 = i * 256 + j, 0 ≤ j, ~255 < j0, j0 < 0, j < 256, 0 < i ⊦ i = 0, ~255 = j0, 255 + j0 = j |
s2i(sho) = 256 * (j0 - 1), 255 + j0 = i * 256 + j, 0 ≤ j, ~255 < j0, j0 < 0, j < 256, 0 < i ⊦ j0 = (i - 1) * 256 + j + 1, i = 0, ~255 = j0, 255 + j0 = j
Used simplifier rules: ⊦ i * j = j * i;% ⊦ (* i) + i0 - (* j) = (i - j) + i0;% ⊦ i + 0 = i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i * j + i = i * (j + 1);% ⊦ i + (j - i) = j;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i + j = i + i0 ↔ j = i0;% ⊦ (* j) = i0 + (* j0) ↔ j - j0 = i0;% ⊦ i = i + j ↔ j = 0;% ⊦ i * j = 0 ↔ i = 0 ∨ j = 0;% ⊦ (* j) < i0 + (* j0) ↔ j - j0 < i0;% ⊦ i + (* j) < (* j0) ↔ i < j0 - j;% ⊦ i < (* j) ∧ j < 0 → i < 0; (forward)% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ i + j < j ↔ i < 0;% ⊦ 0 < i → (i * j < 0 ↔ j < 0);% ⊦ i - j < i0 ↔ i < j + i0;% ⊦ i < 1 ↔ i ≤ 0;% ⊦ i ≠ j → (i ≤ j ↔ i < j);% ⊦ i < j → ¬ j < i; Used formulas: j0 = (i - 1) * 256 + j + 1