| j1 < i1 + i0, i1 * j + j1 < j, i1 * j + j1 < i0, i1 ≤ 0, 0 < i1 + i0, j1 < j, j1 < i0, j1 + 1 < j, 1 < j, j1 + 1 < i0, i1 * j + j1 < 0, (i1 * j + j1) + 1 < i0, j1 < 0, 0 < j + j1, (i1 * j + j1) + 1 < j, 0 ≤ (i1 + i0) * j + j1, i1 < i0, 0 < i0, i1 < j, i1 < j + j1, i1 ≤ (i1 + i0) * j + j1, 0 ≤ j, 0 < j, (i1 * j + j1) + 1 < i1 + i0, i1 * j + j1 < i1 + i0, j1 + 1 < i1 + i0, i1 ≤ j ⊦ j1 = 0, ((i1 + i0) * j + j1) % j = j1 + j |
0 ≤ i0 * j + j0, j0 < 0, abs(j0) < j ⊦ (i0 * j + j0) % j = j + j0
Used simplifier rules: add-c: ⊦ i + j = j + i; from specification int-basic2%abs-08: ⊦ i < 0 → abs(i) = ~ i; from specification int-abs%neg-13: ⊦ ~ i < j ↔ 0 < j + i; from specification int-abs Used terms: j1, j, i1 + i0