| ¬ i % j < 0, i + j < 0, 0 < j, i < 0, i < j ⊦ i |%| j = (i + j) |%| j |
i % j = 0, i < j, i < 0, 0 < j, i + j < 0 ⊦ i |%| j = (i + j) |%| j
Used simplifier rules: mod-less-01: ⊦ 0 < j → i % j < j; from specification int-div%lel: ⊦ i < i0 ∧ i = i1 → i1 < i0; (forward) from specification oelem[intlista]%mod-ngez: ⊦ 0 < j ∧ i < 0 → (0 ≤ i % j ↔ i % j = 0); from specification int-div%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs