| i * j1 * i = j0 * j0 * i0, gcd(j1 * i, j0) = 1, prime(j1), j1 * j1 ≤ j1 * i0, 0 < j0, 0 ≤ j0, 1 < j1 * i0, 0 < j1 * i0, 0 < j1 * i, j1 | j0, ∀ i1, j, j0. i→n(i1) < i→n(j1 * i0) → 0 < i1 ∧ 0 < j ∧ 0 < j0 ∧ gcd(j, j0) = 1 ∧ j * j = i1 * j0 * j0 → (∃ i2. i1 = i2 * i2) ⊦ j1 = 0, j1 | i0, ∃ i1. j1 * i0 = i1 * i1 |
⊦ i | j ↔ (∃ i0. i * i0 = j)
Used simplifier rules: gcd-mult: ⊦ gcd(i * i1, j * i1) = gcd(i, j) * abs(i1);%prime-abs: ⊦ prime(j) → abs(j) = j;%gcd-abs: ⊦ abs(gcd(i, j)) = gcd(i, j);%prime-small: ⊦ j < 2 → ¬ prime(j);%eq-nonzero: ⊦ i ≠ 0 → (i * j = i * j0 ↔ j = j0); from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult%eq-one: ⊦ i * j = 1 ↔ abs(i) = 1 ∧ i = j; from specification int-mult%forward-le-01: ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward) from specification int-abs%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs%one: ⊦ 1 * i = i; from specification int-mult%leone: ⊦ 1 ≤ i ↔ 0 < i; from specification int-abs Used terms: j0, j1