theorem
exists_coprime
{n : ℕ}
(hn : 0 < n)
{a : ℤ}
{b : ℤ}
{c : ℤ}
(ha' : a ≠ 0)
(hb' : b ≠ 0)
(hc' : c ≠ 0)
(h : a ^ n + b ^ n = c ^ n)
:
∃ a' b' c',
Int.natAbs a' ≤ Int.natAbs a ∧ Int.natAbs b' ≤ Int.natAbs b ∧ Int.natAbs c' ≤ Int.natAbs c ∧ FltCoprime n a' b' c'
theorem
descent_gcd3
(a : ℤ)
(b : ℤ)
(c : ℤ)
(p : ℤ)
(q : ℤ)
(hp : p ≠ 0)
(hq : q ≠ 0)
(hcoprime : IsCoprime p q)
(hodd : Even p ↔ ¬Even q)
(hcube : 2 * p * (p ^ 2 + 3 * q ^ 2) = a ^ 3 ∨ 2 * p * (p ^ 2 + 3 * q ^ 2) = b ^ 3 ∨ 2 * p * (p ^ 2 + 3 * q ^ 2) = c ^ 3)
(hgcd : Int.gcd (2 * p) (p ^ 2 + 3 * q ^ 2) = 3)
: