| i < 0, 0 ≤ i % j ⊦ i % j = abs(i) % abs(j), j = 0 |
i < 0, 0 ≤ i % j ⊦ i % abs(j) + i % j = 0, j = 0
Used simplifier rules: mod-neg-01: j ≠ 0 ⊦ ~ i % j = ~(i % j);% ⊦ i < 0 ∧ 0 ≤ j → i < j; (s)%forward-le-02: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward) from specification int-abs%forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs% ⊦ ~ i = j ↔ i + j = 0; (s)% ⊦ abs(i) = 0 ↔ i = 0; (s)% ⊦ i < 0 → abs(i) = ~ i; (s)