| j * j = (j1 * j1 * i) * j0 * j0, gcd(j, j0) = 1, 1 < j1 * j1 * i, 0 < j1 * j1 * i, 0 < j, 0 < j0, prime(j1), j1 * j1 ≤ j1 * j1 * i, 0 ≤ j0, ∃ 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) ⊦ ∃ i1. j1 * j1 * i = i1 * i1 |
0 < j1 * abs(i0), 0 < j1 * j1 * i0 * i0, 1 < j1 * j1 * i0 * i0, prime(j1), j1 ≤ j1 * abs(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) ⊦ ∃ i. j1 * abs(i0) = abs(i)
Used simplifier rules: prime-abs: ⊦ prime(j) → abs(j) = j;%gcd-mult-01: ⊦ gcd(i, i * j) = abs(i);%gcd-com: ⊦ gcd(i, j) = gcd(j, i);% ⊦ i = 1 → i * j = 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% ⊦ i * i ≤ j * j ↔ abs(i) ≤ abs(j); (s)%commutativity: ⊦ i * j = j * i; from specification int-mult%associativity: ⊦ i * j * j0 = (i * j) * j0; from specification int-mult% ⊦ abs(i * j) = abs(i) * abs(j); (s)% ⊦ 0 < j → abs(j) = j; (s)% ⊦ i * i = j * j ↔ abs(i) = abs(j); (s)