| abs(j) < j2 +1, j0 < abs(j), 0 ≤ j0, abs(j) * i ≤ abs(j) * i0 + j0, ∀ j0, j, i, i0. j0 < abs(j) ∧ abs(j) < j2 ∧ abs(j) * i ≤ abs(j) * i0 + j0 ∧ 0 ≤ j0 → i ≤ i0 ⊦ i ≤ i0 |
j0 < j2, i0 < i, j0 < abs(j), 0 < j2, abs(j) ≤ j2, 0 ≤ j0, abs(j) * i ≤ abs(j) * i0 + j0, ∀ j0, j, i, i0. j0 < abs(j) ∧ abs(j) < j2 ∧ abs(j) * i ≤ abs(j) * i0 + j0 ∧ 0 ≤ j0 → i ≤ i0 ⊦ j = 0
Used simplifier rules: ⊦ 0 < abs(i) ↔ i ≠ 0; (s)%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%forward-lsle: ⊦ i < j ∧ j ≤ j0 → i < j0; (forward) from specification int-abs%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs% ⊦ i ≤ j ↔ ¬ j < i; (ss)%add-c: ⊦ i + j = j + i; from specification int-basic2%add-a: ⊦ i + j + i0 = (i + j) + i0; from specification int-basic2% ⊦ i < j + 1 ↔ i ≤ j; (s)% ⊦ i +1 = i + 1; (s)