| i = i1 * gcd(i, j) + j0, 0 ≤ i, 0 < gcd(i, j), 0 ≤ i1, 0 ≤ j0, 1 < i0, 0 < i0, 0 < j, 0 < i, i0 | j / gcd(i, j), i0 | i1, j0 < gcd(i, j) ⊦ |
⊦ abs(j0) < gcd(i, j) → (i = i1 * gcd(i, j) + j0 ↔ i = i1 * gcd(i, j) ∧ j0 = 0)
abs(j0) < gcd(i, j), i = i1 * gcd(i, j) ∧ j0 = 0, 0 ≤ i, 0 < gcd(i, j), 0 ≤ i1, 0 ≤ j0, 1 < i0, 0 < i0, 0 < j, 0 < i, i0 | j / gcd(i, j), i0 | i1, j0 < gcd(i, j) ⊦
Used simplifier rules: absle: ⊦ 0 ≤ i → abs(i) = i; from specification int-abs%lels: ⊦ ¬ i < j ↔ j ≤ i; from specification int-abs%lels-03: ⊦ i < j → (¬ ¬ j ≤ i ↔ false); from specification int-abs Used terms: j0, j, i1, i