| 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: prime-abs: ⊦ prime(j) → abs(j) = j;% ⊦ abs(i * j) = abs(i) * abs(j); (s)% ⊦ abs(abs(i)) = abs(i); (s)%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult%commutativity: ⊦ i * j = j * i; from specification int-mult% ⊦ i ≠ 0 → (i * j = i * j0 ↔ j = j0); (s) Used terms: j1 * abs(i0)