Weierstrass Curve tate A₆ eq eval Int
WeierstrassCurve.tateA₆_eq_evalInt
Plain-language statement
The Lambert series rearrangement for tateA₆, as for tateA₄_eq_evalInt; the bookkeeping of the exact division by 12 uses 12 ∣ 5d³ + 7d⁵ termwise.
Exact Lean statement
theorem WeierstrassCurve.tateA₆_eq_evalInt (q : k) (hq : valuation k q < 1) :
tateA₆ q = TateCurve.evalInt q TateCurve.a₆FormalFormal artifact
Lean source
theorem WeierstrassCurve.tateA₆_eq_evalInt (q : k) (hq : valuation k q < 1) : tateA₆ q = TateCurve.evalInt q TateCurve.a₆Formal := by have h12 : ∀ d : ℤ, (12 : ℤ) ∣ 5 * d ^ 3 + 7 * d ^ 5 := by intro d have hz : ((5 * d ^ 3 + 7 * d ^ 5 : ℤ) : ZMod 12) = 0 := by push_cast generalize (d : ZMod 12) = r revert r decide exact_mod_cast (ZMod.intCast_zmod_eq_zero_iff_dvd _ 12).mp hz set c : ℕ → ℤ := fun d ↦ -((5 * (d : ℤ) ^ 3 + 7 * (d : ℤ) ^ 5) / 12) with hc -- the coefficients of `a₆Formal` are the divisor sums of `c`: the divisor sum commutes -- with the exact division by `12` have hF : ∀ N, PowerSeries.coeff N TateCurve.a₆Formal = ∑ d ∈ N.divisors, c d := by intro N rw [TateCurve.coeff_a₆Formal] symm simp only [hc] have hσ : ∑ d ∈ N.divisors, (5 * (d : ℤ) ^ 3 + 7 * (d : ℤ) ^ 5) = 5 * (σ 3 N : ℤ) + 7 * (σ 5 N : ℤ) := by rw [Finset.sum_add_distrib, ← Finset.mul_sum, ← Finset.mul_sum, ArithmeticFunction.sigma_apply, ArithmeticFunction.sigma_apply] push_cast ring have hsum : (12 : ℤ) ∣ 5 * (σ 3 N : ℤ) + 7 * (σ 5 N : ℤ) := by rw [← hσ] exact Finset.dvd_sum fun d _ ↦ h12 d have hterm : ∀ d ∈ N.divisors, -((5 * (d : ℤ) ^ 3 + 7 * (d : ℤ) ^ 5) / 12) * 12 = -(5 * (d : ℤ) ^ 3 + 7 * (d : ℤ) ^ 5) := fun d _ ↦ by rw [neg_mul, Int.ediv_mul_cancel (h12 d)] apply mul_right_cancel₀ (b := (12 : ℤ)) (by norm_num) rw [Finset.sum_mul, Finset.sum_congr rfl hterm, neg_mul, Int.ediv_mul_cancel hsum, ← hσ, Finset.sum_neg_distrib] rw [← TateCurve.tsum_lambert_eq_evalInt q hq c hF] simp only [tateA₆] refine tsum_congr fun m ↦ ?_ simp only [hc] push_cast ring- Project
- Fermat's Last Theorem
- License
- Apache-2.0
- Commit
- 8dd808888295
- Source
- FLT/KnownIn1980s/EllipticCurves/TateCurve.lean:272-310
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.