Valuation eval Int le pow
TateCurve.valuation_evalInt_le_pow
Plain-language statement
If the first M coefficients of F vanish, its evaluation at a point of the open unit disc has valuation at most |q|^M: the partial sums satisfy the bound by the nonarchimedean triangle inequality, and it passes to the limit by the ultrametric isosceles principle (if v(σ - T) < v(T) and v(σ) < v(T) then v(T) ≤ max(v(σ), v(σ - T)) < v(T), absurd).
Exact Lean statement
theorem valuation_evalInt_le_pow (q : k) (hq : valuation k q < 1) {F : ℤ⟦X⟧}
{M : ℕ} (hF : ∀ m < M, PowerSeries.coeff m F = 0) :
valuation k (evalInt q F) ≤ valuation k q ^ MFormal artifact
Lean source
theorem valuation_evalInt_le_pow (q : k) (hq : valuation k q < 1) {F : ℤ⟦X⟧} {M : ℕ} (hF : ∀ m < M, PowerSeries.coeff m F = 0) : valuation k (evalInt q F) ≤ valuation k q ^ M := by by_contra hlt rw [not_le] at hlt -- the partial sums satisfy the bound have hpart : ∀ s : Finset ℕ, valuation k (∑ n ∈ s, ((PowerSeries.coeff n F : ℤ) : k) * q ^ n) ≤ valuation k q ^ M := by intro s refine Valuation.map_sum_le _ fun n _ ↦ ?_ rcases lt_or_ge n M with h | h · simp [hF n h] · rw [map_mul, map_pow] calc valuation k ((PowerSeries.coeff n F : ℤ) : k) * valuation k q ^ n ≤ 1 * valuation k q ^ n := mul_le_mul_left (valuation_intCast_le_one _) _ _ = valuation k q ^ n := one_mul _ _ ≤ valuation k q ^ M := pow_le_pow_right_of_le_one' hq.le h -- some partial sum is closer to the limit than `v(evalInt q F)` have hS : HasSum (fun n : ℕ ↦ ((PowerSeries.coeff n F : ℤ) : k) * q ^ n) (evalInt q F) := (summable_evalInt q hq F).hasSum simp only [HasSum, SummationFilter.unconditional_filter, (IsValuativeTopology.hasBasis_nhds (evalInt q F)).tendsto_right_iff] at hS obtain ⟨s, hs⟩ := (hS (Units.mk0 _ (ne_of_gt (lt_of_le_of_lt zero_le hlt))) trivial).exists simp only [Set.mem_setOf_eq] at hs refine absurd ?_ (lt_irrefl (valuation k (evalInt q F))) calc valuation k (evalInt q F) = valuation k ((∑ n ∈ s, ((PowerSeries.coeff n F : ℤ) : k) * q ^ n) - ((∑ n ∈ s, ((PowerSeries.coeff n F : ℤ) : k) * q ^ n) - evalInt q F)) := by rw [sub_sub_cancel] _ ≤ max (valuation k (∑ n ∈ s, ((PowerSeries.coeff n F : ℤ) : k) * q ^ n)) (valuation k ((∑ n ∈ s, ((PowerSeries.coeff n F : ℤ) : k) * q ^ n) - evalInt q F)) := Valuation.map_sub _ _ _ _ < valuation k (evalInt q F) := max_lt (lt_of_le_of_lt (hpart s) hlt) hs- Project
- Fermat's Last Theorem
- License
- Apache-2.0
- Commit
- 8dd808888295
- Source
- FLT/KnownIn1980s/EllipticCurves/TateParameter.lean:240-274
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.