| ¬ 0 ≤ i0 % abs(j), 0 ≤ i, 0 ≤ i0, 0 ≤ i % abs(j), 0 ≤ i % j, 0 ≤ i0 % j ⊦ i % abs(j) = i0 |%| abs(j) ↔ i % j = i0 |%| j, j = 0 |
i0 % abs(j) < 0, 0 ≤ i0 % j, 0 ≤ i % j, 0 ≤ i % abs(j), 0 ≤ i0, 0 ≤ i, abs(j) ≤ i0, 0 < i0 ⊦ j = 0, i % abs(j) = i0 |%| abs(j) ↔ i % j = i0 |%| j, abs(j) = 1
Used simplifier rules: mod-zero: ⊦ 0 ≤ i ∧ i < j → i |%| j = i;%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs%ls-01: ⊦ i < j → ¬ j < i; from specification int-basic1%mod-zero-09: ⊦ 0 < i ∧ i < j → i % j = i; from specification int-div%one-01: ⊦ i = 1 → j % i = 0; from specification int-div%abs-01: ⊦ abs(abs(i)) = abs(i); from specification int-abs%mod-ls-same-01: j ≠ 0 ⊦ i % j < i ↔ 0 < i ∧ (abs(j) = 1 ∨ abs(j) ≤ i); from specification int-div%abs-07: ⊦ abs(i) = 0 ↔ i = 0; from specification int-abs%zero-gels-01: ⊦ i < 0 ∧ 0 ≤ j → i < j; from specification int-abs%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%lels-01: ⊦ ¬ i ≤ j ↔ j < i; from specification int-abs