| j * j / gcd(j0 * j1, j) = (j0 * j1) * (j0 * j1) / gcd(j0 * j1, j) * i, j / gcd(j, j0 * j1) * j / gcd(j0 * j1, j) = (j0 * j1) / gcd(j0 * j1, j) * (j0 * j1) / gcd(j0 * j1, j) * i, gcd(j, j0) = 1, 0 < j, 1 < j1 * j1 * i, 0 < j1, 0 < i, 0 < j0, prime(j1), j1 * j1 ≤ j1 * j1 * i, ∃ i2. i = i2 * i2, ∀ i1, j, j0. i→n(i1) < i→n(j1 * j1 * i) → j * j = i1 * j0 * j0 ∧ gcd(j, j0) = 1 ∧ 0 < j0 ∧ 0 < j ∧ 0 < i1 → (∃ i2. i1 = i2 * i2) ⊦ gcd(j0 * j1, j) = 1, j = 0, j0 = 0, j1 = 0, ∃ i1. j1 * j1 * i = i1 * i1 |
j * j / gcd(j0 * j1, j) = (j0 * j1) * (j0 * j1) / gcd(j0 * j1, j) * i0 * i0, j / gcd(j, j0 * j1) = (j0 * j1) / gcd(j0 * j1, j) * abs(i0), gcd(j, j0) = 1, 0 < j, 0 < j1, 0 < j0, 1 < j1 * j1 * i0 * i0, 0 < i0 * i0, prime(j1), j1 * j1 ≤ j1 * j1 * i0 * i0, ∀ i1, j, j0. i→n(i1) < i→n(j1 * j1 * i0 * i0) → j * j = i1 * j0 * j0 ∧ gcd(j, j0) = 1 ∧ 0 < j0 ∧ 0 < j ∧ 0 < i1 → (∃ i2. i1 = i2 * i2) ⊦ gcd(j0 * j1, j) = 1, j = 0, j0 = 0, j1 = 0, ∃ i. j1 * abs(i0) = abs(i)
Used simplifier rules: gcd-com: ⊦ gcd(i, j) = gcd(j, i);%gcd-zero-zero: ⊦ gcd(i, j) = 0 ↔ i = 0 ∧ j = 0;%gcd-abs: ⊦ abs(gcd(i, j)) = gcd(i, j);% ⊦ 0 < i → (0 < i * j ↔ 0 < j); (s)%forward-le-05: ⊦ i < j ∧ 0 ≤ i → 0 < j; (forward) from specification int-abs%forward-pos: ⊦ i < j ∧ 0 < i → 0 < j ∧ 1 < j; (forward) from specification int-basic1%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult% ⊦ i * j = 0 ↔ i = 0 ∨ j = 0; (ws)% ⊦ abs(i * j) = abs(i) * abs(j); (s)% ⊦ 0 < j → abs(j) = j; (s)%j ≠ 0 ⊦ abs(i / j) = abs(i) / abs(j); (s)% ⊦ i * i = j * j ↔ abs(i) = abs(j); (s)