| i0 < i % j, j < 0, j ≤ i0 + 1, ~1 ≤ j + i0 ⊦ |
i % j = i % ~ j, j < 0, i0 < i % j, ~1 ≤ j + i0, j ≤ i0 + 1 ⊦
Used simplifier rules: mod-neg: j ≠ 0 ⊦ i % ~ j = i % j;% ⊦ (* j) ≤ i0 + (* j0) ↔ j - j0 ≤ i0; (s)%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2%add-c: ⊦ i + j = j + i; from specification int-basic2% ⊦ i + 0 = i; (s) Used formulas: i % j = i % ~ j