Documentation

EllipticCurves.Mathlib.Chabauty.ExpConverge

Convergence of the formal exponential #

The formal exponential Exp of a formal group law (the compositional inverse of the logarithm Λ, ChabautyColeman.FormalGroupLaw.exp) converges on (pO)ⁿ when p is odd.

The classical estimate is v_p(coeff_d Exp) ≥ -(deg d - 1)/(p-1) (ChabautyColeman.FormalGroupLaw.exp_bounded), proved by strong induction on deg d through the recursion Exp = X - (Λ - X) ∘ Exp. The bookkeeping is organised around:

In the induction step the product ∏ᵢ Expᵢ^{mᵢ} gains a slack Dexp (deg m) (partition inequality) that exactly cancels the logarithm's 1/deg m denominator; (p-1) v_p(m) ≤ m-1 closes the estimate. Scaling by p^{deg d} and using deg d - Dexp(deg d) → ∞ (which needs p ≥ 3) gives the integral, coefficient-decaying descent ChabautyColeman.FormalGroupLaw.exp_converges.

Blueprint node: lem:exp-converge.

theorem MvPowerSeries.invSubst_eq_sub {σ : Type u_1} {R : Type u_2} [CommRing R] [Finite σ] {a : σMvPowerSeries σ R} (ha : ∀ (i : σ) (e : σ →₀ ), Finsupp.degree e 1(coeff e) (a i - X i) = 0) (i : σ) :
invSubst a i = X i - subst (invSubst a) (a i - X i)

The compositional inverse satisfies the defining recursion E = X - (a - X) ∘ E.

The denominator-exponent bound Dexp #

Dexp p n = (n-1)/(p-1) (natural-number division, i.e. ⌊(n-1)/(p-1)⌋): an integer upper bound for v_p(n!) that bounds the p-power denominators of the formal exponential.

Equations
Instances For
    theorem ChabautyColeman.Dexp_eq (p n : ) :
    Dexp p n = (n - 1) / (p - 1)
    theorem ChabautyColeman.pred_mul_padicValNat_le {p : } (hp : Nat.Prime p) {M : } (hM : 1 M) :
    (p - 1) * padicValNat p M M - 1

    The key elementary inequality behind the exponential estimate: (p-1) · v_p(M) ≤ M - 1.

    theorem ChabautyColeman.pred_mul_Dexp_le {p : } (n : ) :
    (p - 1) * Dexp p n n - 1
    theorem ChabautyColeman.Dexp_mono {p n m : } (h : n m) :
    Dexp p n Dexp p m
    theorem ChabautyColeman.Dexp_le {p n : } :
    Dexp p n n
    theorem ChabautyColeman.padicValNat_le_Dexp {p : } (hp : Nat.Prime p) {M : } (hM : 1 M) :
    theorem ChabautyColeman.Dexp_card_add_sum_le {p : } (hp : 2 p) {ι : Type u_1} (s : Finset ι) (k : ι) (hk : is, 1 k i) :
    Dexp p s.card + is, Dexp p (k i) Dexp p (∑ is, k i)

    The partition inequality: parts k i ≥ 1 summing to N over s.card parts satisfy Dexp s.card + ∑ Dexp (k i) ≤ Dexp N. This absorbs the logarithm's 1/deg denominator into the product slack.

    For p ≥ 3, the gap n - Dexp p n → ∞ (this is where p odd enters).

    p-integrality levels #

    def ChabautyColeman.IntLevel {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] (f : O →+* K) (p : ) (x : K) (k : ) :

    x : K is p-integral of level k (via f : O →+* K) if f(p)^k · x lies in the image of f. It is monotone in k, additive, and multiplicative (adding levels).

    Equations
    Instances For
      theorem ChabautyColeman.IntLevel.zero {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } (k : ) :
      IntLevel f p 0 k
      theorem ChabautyColeman.IntLevel.of_f {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } (c : O) :
      IntLevel f p (f c) 0
      theorem ChabautyColeman.IntLevel.add {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } {x y : K} {k : } (hx : IntLevel f p x k) (hy : IntLevel f p y k) :
      IntLevel f p (x + y) k
      theorem ChabautyColeman.IntLevel.neg {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } {x : K} {k : } (hx : IntLevel f p x k) :
      IntLevel f p (-x) k
      theorem ChabautyColeman.IntLevel.mul {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } {x y : K} {j k : } (hx : IntLevel f p x j) (hy : IntLevel f p y k) :
      IntLevel f p (x * y) (j + k)
      theorem ChabautyColeman.IntLevel.mono {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } {x : K} {j k : } (hx : IntLevel f p x j) (hjk : j k) :
      IntLevel f p x k
      theorem ChabautyColeman.IntLevel.sum {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } {ι : Type u_3} {s : Finset ι} {g : ιK} {k : } (h : is, IntLevel f p (g i) k) :
      IntLevel f p (∑ is, g i) k
      theorem ChabautyColeman.IntLevel.prod {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } {ι : Type u_3} {s : Finset ι} {g : ιK} {k : ι} (h : is, IntLevel f p (g i) (k i)) :
      IntLevel f p (∏ is, g i) (∑ is, k i)
      theorem ChabautyColeman.IntLevel.finsum {O : Type u_1} {K : Type u_2} [CommRing O] [CommRing K] {f : O →+* K} {p : } {ι : Type u_3} {g : ιK} {k : } (hfin : Function.HasFiniteSupport g) (h : ∀ (i : ι), IntLevel f p (g i) k) :
      IntLevel f p (∑ᶠ (i : ι), g i) k
      theorem ChabautyColeman.FormalGroupLaw.log_coeff_level {O : Type u_1} {K : Type u_2} [CommRing O] [Field K] {ι : Type u_3} {f : O →+* K} {p : } [IsLocalRing O] [Fintype ι] [DecidableEq ι] (hp : Nat.Prime p) (hpmem : p IsLocalRing.maximalIdeal O) (hfp : f p 0) (Φ : FormalGroupLaw O ι) (i : ι) (m : ι →₀ ) (hm : 1 Finsupp.degree m) :
      IntLevel f p ((MvPowerSeries.coeff m) ((map f Φ).log i)) (Dexp p (Finsupp.degree m))

      The coefficients of the logarithm are Dexp-bounded: f(p)^{Dexp(deg m)} · coeff_m Λ is integral. This relaxes coeff_log_map_padic (denominator p^{v_p(deg m)}) via v_p(deg m) ≤ Dexp(deg m).

      theorem ChabautyColeman.FormalGroupLaw.exp_bounded {O : Type u_1} {K : Type u_2} [CommRing O] [Field K] {ι : Type u_3} {f : O →+* K} {p : } [IsLocalRing O] [Fintype ι] [DecidableEq ι] (hp : Nat.Prime p) (hpmem : p IsLocalRing.maximalIdeal O) (hfp : f p 0) (Φ : FormalGroupLaw O ι) (i : ι) (d : ι →₀ ) :
      IntLevel f p ((MvPowerSeries.coeff d) ((map f Φ).exp i)) (Dexp p (Finsupp.degree d))

      The exponential coefficient bound: f(p)^{Dexp(deg d)} · coeff_d Exp is integral, i.e. v_p(coeff_d Exp) ≥ -(deg d - 1)/(p-1). Proved by strong induction on deg d through the recursion Exp = X - (Λ - X) ∘ Exp; the product slack Dexp(deg m) cancels the logarithm's 1/deg m, and (p-1)·v_p(m) ≤ m - 1 closes the step.

      theorem ChabautyColeman.FormalGroupLaw.exp_converges {O : Type u_1} {K : Type u_2} [CommRing O] [Field K] {ι : Type u_3} {f : O →+* K} {p : } [IsLocalRing O] [Fintype ι] [DecidableEq ι] [UniformSpace O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] (hp : Nat.Prime p) (hp2 : p 2) (hpmem : p IsLocalRing.maximalIdeal O) (hfp : f p 0) (Φ : FormalGroupLaw O ι) (i : ι) :
      ∃ (H : MvPowerSeries ι O), (∀ (d : ι →₀ ), f ((MvPowerSeries.coeff d) H) = f p ^ Finsupp.degree d * (MvPowerSeries.coeff d) ((map f Φ).exp i)) Filter.Tendsto (fun (d : ι →₀ ) => (MvPowerSeries.coeff d) H) Filter.cofinite (nhds 0)

      Convergence of the exponential on (pO)ⁿ (p odd). After scaling the variables by p, the exponential of the base change f_*Φ descends to H ∈ O⟦U⟧ whose base change is the p-scaled exponential (f (coeff_d H) = f(p)^{deg d} · coeff_d Exp) and whose coefficients tend to 0. Here p ≥ 3 is essential: deg d - Dexp(deg d) → ∞ needs p - 1 ≥ 2.