Has Sum X eval
TateCurve.Blueprint.hasSum_X_eval
Plain-language statement
Rearrangement for X (extracted from Silverman's proof of Advanced topics, Theorem V.3.1(c)): for 0 < ‖q‖ < ‖u‖ < 1 with u transcendental (so that evaluation of coefficients at u is a ring homomorphism), the coefficients of the formal series TateCurve.X evaluated at u sum to Xₐ(u, q). Proof: expand each term of Xₐ: for n ≥ 1, `qⁿu/(1 -...
Exact Lean statement
theorem hasSum_X_eval {u q : ℂ} (hu : Transcendental ℚ u) (h0 : 0 < ‖q‖)
(h1 : ‖q‖ < ‖u‖) (h2 : ‖u‖ < 1) :
HasSum (fun n : ℕ ↦ evalAt u ((PowerSeries.coeff n) X) * q ^ n) (XAn u q)Formal artifact
Lean source
theorem hasSum_X_eval {u q : ℂ} (hu : Transcendental ℚ u) (h0 : 0 < ‖q‖) (h1 : ‖q‖ < ‖u‖) (h2 : ‖u‖ < 1) : HasSum (fun n : ℕ ↦ evalAt u ((PowerSeries.coeff n) X) * q ^ n) (XAn u q) := by have hu0 : u ≠ 0 := norm_pos_iff.mp (h0.trans h1) have hq0 : q ≠ 0 := norm_pos_iff.mp h0 have hq1 : ‖q‖ < 1 := h1.trans h2 -- the two `u`-dependent Lambert double series have hA := hasSum_prod_lambert (y := u) (fun m ↦ (m : ℂ)) (fun v ↦ v / (1 - v) ^ 2) cast_le_sq hq1 (norm_mul_lt_one h1 h2) fun v hv ↦ hasSum_pnat_lambert₁ hv have hB := hasSum_prod_lambert (y := u⁻¹) (fun m ↦ (m : ℂ)) (fun v ↦ v / (1 - v) ^ 2) cast_le_sq hq1 (norm_mul_inv_lt_one h0 h1) fun v hv ↦ hasSum_pnat_lambert₁ hv -- combine, collect by divisors, and restore the `n = 0` term have hdiv := hasSum_divisor_collect (x := q) (fun d : ℕ ↦ (d : ℂ) * (u ^ d + u⁻¹ ^ d - 2)) (((hA.add hB).sub ((hasSum_prodC hq1).mul_left 2)).congr_fun fun p ↦ by ring) have hfull := hasSum_nat_of_pnat_add (f := fun n : ℕ ↦ evalAt u ((PowerSeries.coeff n) X) * q ^ n) (hdiv.congr_fun fun N ↦ by rw [evalAt_coeff_X hu N.pos.ne']) -- identify the value with `XAn u q` have hposEq : ∀ n : ℕ+, q ^ (((n : ℕ) : ℤ)) * u / (1 - q ^ (((n : ℕ) : ℤ)) * u) ^ 2 = q ^ (n : ℕ) * u / (1 - q ^ (n : ℕ) * u) ^ 2 := fun n ↦ by rw [zpow_natCast] have hnegEq : ∀ n : ℕ+, q ^ (-((n : ℕ) : ℤ)) * u / (1 - q ^ (-((n : ℕ) : ℤ)) * u) ^ 2 = q ^ (n : ℕ) * u⁻¹ / (1 - q ^ (n : ℕ) * u⁻¹) ^ 2 := fun n ↦ by rw [zpow_neg_natCast_mul, inv_div_one_sub_inv_sq (mul_ne_zero (pow_ne_zero _ hq0) (inv_ne_zero hu0))] convert hfull using 1 rw [XAn, tsum_int_decomp (summable_V hq0 h1 h2), show q ^ (0 : ℤ) * u / (1 - q ^ (0 : ℤ) * u) ^ 2 = u / (1 - u) ^ 2 by rw [zpow_zero, one_mul], tsum_congr hposEq, tsum_congr hnegEq, evalAt_coeff_X_zero hu, pow_zero, mul_one] ring- Project
- Fermat's Last Theorem
- License
- Apache-2.0
- Commit
- 8dd808888295
- Source
- FLT/KnownIn1980s/EllipticCurves/TateCurveConstruction.lean:1250-1280
Reuse this declaration
Bring the exact result into your workflow
The import identifies the source module. Your project still needs the pinned package dependency shown on this page.
What this badge means
This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.
Continue in this project
Related declarations
Eq finsum quotient out of bij On
AbstractHeckeOperator.eq_finsum_quotient_out_of_bijOn'
Plain-language statement
If a is fixed by V then ∑ᶠ g ∈ s, g • a is independent of the choice s of coset representatives in G for a subset of G ⧸ V
Source project: Fermat's Last Theorem
Person-level attribution pending.
Comm Group no compact automorphisms
CommGroup.no_compact_automorphisms
Plain-language statement
A connected compact Hausdorff abelian topological group does not admit a nontrivial compact group of automorphisms.
Source project: Fermat's Last Theorem
Person-level attribution pending.
Fermat Last Theorem of p ge 5
FermatLastTheorem.of_p_ge_5
Plain-language statement
If Fermat's Last Theorem is true for primes p ≥ 5, then FLT is true.
Source project: Fermat's Last Theorem
Person-level attribution pending.