| i0 % j < 0, j / 2 < abs(i0 % j + j), 0 < j, odd(j) ⊦ ∃ i. ≡mod(i, i0, j) ∧ abs(i) ≤ j / 2, (i0 % j) |%| j = i0 % j + j ∧ 0 ≤ i0 % j + j / 2 |
⊦ i % j < 0 → i |%| j = i % j + j
(i0 % j) % j < 0, i0 % j < 0, j / 2 < abs(i0 % j + j), 0 < j, odd(j) ⊦ ∃ i. ≡mod(i, i0, j) ∧ abs(i) ≤ j / 2, (i0 % j) % j + j = i0 % j + j ∧ 0 ≤ i0 % j + j / 2
Used simplifier rules: odd-zero: ⊦ ¬ odd(0); from specification int-min%modmod: j ≠ 0 ⊦ (i % j) % j = i % j; from specification int-div%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%lels-03: ⊦ i < j → (¬ ¬ j ≤ i ↔ false); from specification int-abs Used terms: j, i0 % j