| abs(i) = i0 * abs(j) + j0, gcd(abs(i), abs(j)) * i1 = abs(j), j0 < abs(j), 0 ≤ j0, 0 ≤ i0, gcd(abs(j), j0) < gcd(abs(i), abs(j)), gcd(abs(i), abs(j)) | abs(i) ⊦ j = 0, gcd(abs(i), abs(j)) | j0 |
⊦ i | j ↔ (∃ i0. i * i0 = j)
abs(i) = i0 * abs(j) + j0, gcd(abs(i), abs(j)) * i1 = abs(j), j0 < abs(j), 0 ≤ j0, 0 ≤ i0, gcd(abs(j), j0) < gcd(abs(i), abs(j)), ∃ i0. gcd(abs(i), abs(j)) * i0 = abs(i) ⊦ j = 0, gcd(abs(i), abs(j)) | j0
Used terms: abs(i), gcd(abs(i), abs(j))