Documentation

EllipticCurves.Mathlib.Chabauty.MvPSeries

The p-adic kit: multivariate evaluation #

Evaluation of a multivariate power series h ∈ O⟦z_s : s ∈ σ⟧ at a family of points of the maximal ideal (ChabautyColeman.MvPSeries.eval), as a thin layer over Mathlib's MvPowerSeries.eval₂, in the standing setting of the p-adic kit (Chabauty.Series.PSeries). For a finite index type, any family in the maximal ideal is a legitimate evaluation point (ChabautyColeman.MvPSeries.hasEval_of_mem); evaluation is a ring homomorphism (ChabautyColeman.MvPSeries.evalRingHom) computed by a convergent sum (ChabautyColeman.MvPSeries.hasSum_eval).

Composition: Mathlib's formal substitution MvPowerSeries.subst is continuous for the product topologies (MvPowerSeries.continuous_subst' — each coefficient of subst a f is a fixed finite linear combination of coefficients of f, by MvPowerSeries.coeff_subst_finite applied to the all-ones series), whence evaluation of a substitution is evaluation at the evaluated family (ChabautyColeman.MvPSeries.eval_subst, via uniqueness of continuous algebra homomorphisms MvPowerSeries.aeval_unique), and the evaluated family is itself a legitimate evaluation point (ChabautyColeman.MvPSeries.hasEval_eval).

The chain rule mentioned in the blueprint node is deferred to the formal-group-law items, which set up formal (partial) derivatives; Mathlib currently has none for MvPowerSeries.

For power series whose coefficients decay (tend to 0 cofinitely), evaluation converges at any family of points of O — not only those in the maximal ideal — because the terms tend to 0 for a bounded point family; this is ChabautyColeman.MvPSeries.evalT, agreeing with eval where the latter converges (ChabautyColeman.MvPSeries.evalT_eq_eval).

Blueprint nodes: def:mv-eval, def:mv-evalT.

On ι →₀ ℕ with ι finite, the total degree tends to along the cofinite filter: only finitely many multi-indices have degree below any bound.

noncomputable def ChabautyColeman.MvPSeries.eval {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z₀ : σO) (h : MvPowerSeries σ O) :
O

Evaluation of a multivariate power series at a family of points of the maximal ideal: the convergent sum ∑ a_d z₀^d (junk if the series does not converge).

Equations
Instances For
    @[simp]
    theorem ChabautyColeman.MvPSeries.eval_coe {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (f : MvPolynomial σ O) (z₀ : σO) :
    eval z₀ f = (MvPolynomial.eval z₀) f
    @[simp]
    theorem ChabautyColeman.MvPSeries.eval_C {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (r : O) (z₀ : σO) :
    @[simp]
    theorem ChabautyColeman.MvPSeries.eval_X {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z₀ : σO) (s : σ) :
    eval z₀ (MvPowerSeries.X s) = z₀ s
    @[simp]
    theorem ChabautyColeman.MvPSeries.eval_zero {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z₀ : σO) :
    eval z₀ 0 = 0
    noncomputable def ChabautyColeman.MvPSeries.evalT {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z : σO) (h : MvPowerSeries σ O) :
    O

    Evaluation of a multivariate power series with decaying coefficients at an arbitrary family of points of O (junk if the defining series does not converge). Unlike MvPSeries.eval, the evaluation points need not lie in the maximal ideal; convergence is supplied instead by the decay of the coefficients.

    Equations
    Instances For
      theorem ChabautyColeman.MvPSeries.evalT_eq_tsum {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z : σO) (h : MvPowerSeries σ O) :
      evalT z h = ∑' (d : σ →₀ ), (MvPowerSeries.coeff d) h * d.prod fun (s : σ) (e : ) => z s ^ e
      @[simp]
      theorem ChabautyColeman.MvPSeries.evalT_zero {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z : σO) :
      evalT z 0 = 0
      @[simp]
      theorem ChabautyColeman.MvPSeries.evalT_C {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z : σO) (r : O) :
      @[simp]
      theorem ChabautyColeman.MvPSeries.evalT_X {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z : σO) (s : σ) :
      @[simp]
      theorem ChabautyColeman.MvPSeries.evalT_one {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] (z : σO) :
      evalT z 1 = 1

      The constant power series 1 has decaying coefficients.

      theorem ChabautyColeman.MvPSeries.decay_rename {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] {τ : Type u_3} {e : στ} (he : Function.Injective e) [Filter.TendstoCofinite e] {h : MvPowerSeries σ O} (hh : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) h) Filter.cofinite (nhds 0)) :

      Coefficient decay is preserved by renaming the variables along an injection.

      theorem ChabautyColeman.MvPSeries.hasEval_of_mem {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [Finite σ] {z₀ : σO} (hz₀ : ∀ (i : σ), z₀ i IsLocalRing.maximalIdeal O) :

      Families of points of the maximal ideal, indexed by a finite type, are legitimate evaluation points for multivariate power series.

      A sufficient condition for the coefficients of a multivariate power series to decay (hence for evalT to converge): each coefficient lies in a power of the maximal ideal whose exponent tends to cofinitely.

      theorem ChabautyColeman.MvPSeries.summable_evalT {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] (z : σO) {h : MvPowerSeries σ O} (hh : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) h) Filter.cofinite (nhds 0)) :
      Summable fun (d : σ →₀ ) => (MvPowerSeries.coeff d) h * d.prod fun (s : σ) (e : ) => z s ^ e

      The defining series of evalT is summable when the coefficients of h decay.

      theorem ChabautyColeman.MvPSeries.hasSum_evalT {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] (z : σO) {h : MvPowerSeries σ O} (hh : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) h) Filter.cofinite (nhds 0)) :
      HasSum (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) h * d.prod fun (s : σ) (e : ) => z s ^ e) (evalT z h)
      theorem ChabautyColeman.MvPSeries.evalT_add {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] (z : σO) {h₁ h₂ : MvPowerSeries σ O} (hh₁ : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) h₁) Filter.cofinite (nhds 0)) (hh₂ : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) h₂) Filter.cofinite (nhds 0)) :
      evalT z (h₁ + h₂) = evalT z h₁ + evalT z h₂

      evalT is additive on power series with decaying coefficients.

      The product of two coefficient-decaying power series again has decaying coefficients (the coefficients are the Cauchy convolution of two null sequences).

      theorem ChabautyColeman.MvPSeries.evalT_mul {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] (z : σO) {g₁ g₂ : MvPowerSeries σ O} (hh₁ : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) g₁) Filter.cofinite (nhds 0)) (hh₂ : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) g₂) Filter.cofinite (nhds 0)) :
      evalT z (g₁ * g₂) = evalT z g₁ * evalT z g₂

      evalT is multiplicative on power series with decaying coefficients: the Cauchy product of the two convergent value series.

      theorem ChabautyColeman.MvPSeries.decay_prod {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {ι : Type u_3} {b : ιMvPowerSeries σ O} (hb : ∀ (s : ι), Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) (b s)) Filter.cofinite (nhds 0)) (m : ι →₀ ) :
      Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) (m.prod fun (s : ι) (e : ) => b s ^ e)) Filter.cofinite (nhds 0)

      A product ∏ᵢ (b i)^{mᵢ} of coefficient-decaying series has decaying coefficients.

      theorem ChabautyColeman.MvPSeries.evalT_pow {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] (z : σO) {g : MvPowerSeries σ O} (hh : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) g) Filter.cofinite (nhds 0)) (n : ) :
      evalT z (g ^ n) = evalT z g ^ n
      theorem ChabautyColeman.MvPSeries.evalT_prod {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] (z : σO) {ι : Type u_3} {b : ιMvPowerSeries σ O} (hb : ∀ (s : ι), Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) (b s)) Filter.cofinite (nhds 0)) (m : ι →₀ ) :
      evalT z (m.prod fun (s : ι) (e : ) => b s ^ e) = m.prod fun (s : ι) (e : ) => evalT z (b s) ^ e

      evalT is multiplicative on products of powers of decaying series: it evaluates ∏ᵢ (b i)^{mᵢ} at the family of values evalT z (b i).

      theorem ChabautyColeman.MvPSeries.evalT_subst {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {τ : Type u_3} (z : τO) {a : σMvPowerSeries τ O} (ha_subst : MvPowerSeries.HasSubst a) {g : MvPowerSeries σ O} (hg : Filter.Tendsto (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) g) Filter.cofinite (nhds 0)) (ha : ∀ (s : σ), Filter.Tendsto (fun (d : τ →₀ ) => (MvPowerSeries.coeff d) (a s)) Filter.cofinite (nhds 0)) :
      evalT z (MvPowerSeries.subst a g) = evalT (fun (s : σ) => evalT z (a s)) g

      evalT composes with substitution: evaluating a formal substitution at z is evaluating the outer series at the family of values of the inner series. Both g and each a s must have decaying coefficients.

      theorem ChabautyColeman.MvPSeries.hasSum_eval {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) (h : MvPowerSeries σ O) :
      HasSum (fun (d : σ →₀ ) => (MvPowerSeries.coeff d) h * d.prod fun (s : σ) (e : ) => z₀ s ^ e) (eval z₀ h)

      The defining series of MvPSeries.eval converges.

      theorem ChabautyColeman.MvPSeries.eval_eq_tsum {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) (h : MvPowerSeries σ O) :
      eval z₀ h = ∑' (d : σ →₀ ), (MvPowerSeries.coeff d) h * d.prod fun (s : σ) (e : ) => z₀ s ^ e
      theorem ChabautyColeman.MvPSeries.evalT_eq_eval {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) (h : MvPowerSeries σ O) :
      evalT z₀ h = eval z₀ h

      On a legitimate (point-nilpotent) evaluation point, evalT agrees with eval.

      Evaluation at a legitimate point, as a ring homomorphism.

      Equations
      Instances For
        @[simp]
        theorem ChabautyColeman.MvPSeries.eval_add {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) (h₁ h₂ : MvPowerSeries σ O) :
        eval z₀ (h₁ + h₂) = eval z₀ h₁ + eval z₀ h₂
        theorem ChabautyColeman.MvPSeries.eval_mul {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) (h₁ h₂ : MvPowerSeries σ O) :
        eval z₀ (h₁ * h₂) = eval z₀ h₁ * eval z₀ h₂
        theorem ChabautyColeman.MvPSeries.eval_pow {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) (h : MvPowerSeries σ O) (n : ) :
        eval z₀ (h ^ n) = eval z₀ h ^ n
        theorem ChabautyColeman.MvPSeries.eval_sub {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) (h₁ h₂ : MvPowerSeries σ O) :
        eval z₀ (h₁ - h₂) = eval z₀ h₁ - eval z₀ h₂

        The value of a multivariate power series at a point of the maximal ideal is congruent to its constant coefficient modulo the maximal ideal.

        Values of a power series with constant coefficient in the maximal ideal lie in the maximal ideal.

        theorem ChabautyColeman.MvPSeries.hasEval_eval_algHom {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) {τ : Type u_4} {ψ : MvPowerSeries τ O →ₐ[O] MvPowerSeries σ O} ( : Continuous ψ) :
        MvPowerSeries.HasEval fun (s : τ) => eval z₀ (ψ (MvPowerSeries.X s))

        The values of a continuous algebra homomorphism of power series rings at the variables form a legitimate evaluation point.

        theorem ChabautyColeman.MvPSeries.eval_algHom {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) {τ : Type u_4} {ψ : MvPowerSeries τ O →ₐ[O] MvPowerSeries σ O} ( : Continuous ψ) (h : MvPowerSeries τ O) :
        eval z₀ (ψ h) = eval (fun (s : τ) => eval z₀ (ψ (MvPowerSeries.X s))) h

        Evaluation along a continuous algebra homomorphism of power series rings is evaluation at the images of the variables (by uniqueness of continuous algebra homomorphisms).

        theorem ChabautyColeman.MvPSeries.hasEval_eval {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) {τ : Type u_4} {a : τMvPowerSeries σ O} (ha : MvPowerSeries.HasSubst a) :
        MvPowerSeries.HasEval fun (s : τ) => eval z₀ (a s)

        The family of values of a substitutable family is a legitimate evaluation point.

        theorem ChabautyColeman.MvPSeries.eval_subst {σ : Type u_1} {O : Type u_2} [CommRing O] [UniformSpace O] [IsLocalRing O] [Fact (IsAdic (IsLocalRing.maximalIdeal O))] [IsUniformAddGroup O] [CompleteSpace O] [T2Space O] [IsTopologicalRing O] {z₀ : σO} (hz₀ : MvPowerSeries.HasEval z₀) {τ : Type u_4} {a : τMvPowerSeries σ O} (ha : MvPowerSeries.HasSubst a) (h : MvPowerSeries τ O) :
        eval z₀ (MvPowerSeries.subst a h) = eval (fun (s : τ) => eval z₀ (a s)) h

        Evaluation of a (formal) substitution is evaluation at the evaluated family.