Documentation

Mathlib.RingTheory.PowerSeries.Substitution

Substitutions in power series #

A (possibly multivariate) power series can be substituted into a (univariate) power series if and only if its constant coefficient is nilpotent.

This is a particularization of the substitution of multivariate power series to the case of univariate power series.

Because of the special API for PowerSeries, some results for MvPowerSeries do not immediately apply and a “primed” version is provided here.

@[reducible, inline]
abbrev PowerSeries.HasSubst {τ : Type u_3} {S : Type u_4} [CommRing S] (a : MvPowerSeries τ S) :

(Possibly multivariate) power series which can be substituted in a PowerSeries.

Equations
Instances For
    theorem PowerSeries.HasSubst.const {τ : Type u_3} {S : Type u_4} [CommRing S] {a : MvPowerSeries τ S} (ha : HasSubst a) :
    theorem PowerSeries.HasSubst.hasEval {τ : Type u_3} {S : Type u_4} [CommRing S] [TopologicalSpace S] {a : MvPowerSeries τ S} (ha : HasSubst a) :

    A variant of HasSubst.of_constantCoeff_zero for PowerSeries to avoid the expansion of Unit.

    theorem PowerSeries.HasSubst.X {τ : Type u_3} {S : Type u_4} [CommRing S] (t : τ) :

    The univariate X : R⟦X⟧ can be substituted in power series

    This lemma is added because simp doesn't find it from HasSubst.X.

    theorem PowerSeries.HasSubst.X_pow {R : Type u_2} [CommRing R] {n : } (hn : n 0) :
    theorem PowerSeries.HasSubst.monomial {τ : Type u_3} {S : Type u_4} [CommRing S] {n : τ →₀ } (hn : n 0) (s : S) :
    theorem PowerSeries.HasSubst.monomial' {S : Type u_4} [CommRing S] {n : } (hn : n 0) (s : S) :
    HasSubst ((monomial S n) s)

    A variant of HasSubst.monomial to avoid the expansion of Unit.

    theorem PowerSeries.HasSubst.zero {R : Type u_2} [CommRing R] {τ : Type u_3} :

    A variant of HasSubst.zero to avoid the expansion of Unit.

    theorem PowerSeries.HasSubst.add {R : Type u_2} [CommRing R] {τ : Type u_3} {f g : MvPowerSeries τ R} (hf : HasSubst f) (hg : HasSubst g) :
    HasSubst (f + g)
    theorem PowerSeries.HasSubst.mul_left {R : Type u_2} [CommRing R] {τ : Type u_3} {f g : MvPowerSeries τ R} (hf : HasSubst f) :
    HasSubst (f * g)
    theorem PowerSeries.HasSubst.mul_right {R : Type u_2} [CommRing R] {τ : Type u_3} {f g : MvPowerSeries τ R} (hf : HasSubst f) :
    HasSubst (g * f)
    theorem PowerSeries.HasSubst.smul {τ : Type u_3} {S : Type u_4} [CommRing S] (r : MvPowerSeries τ S) {a : MvPowerSeries τ S} (ha : HasSubst a) :
    noncomputable def PowerSeries.HasSubst.ideal {τ : Type u_3} {S : Type u_4} [CommRing S] :

    Families of PowerSeries that can be substituted, as an Ideal.

    Equations
    Instances For
      theorem PowerSeries.HasSubst.smul' {A : Type u_1} [CommRing A] {R : Type u_2} [CommRing R] [Algebra A R] {τ : Type u_3} {f : MvPowerSeries τ R} (a : A) (hf : HasSubst f) :

      A more general version of HasSubst.smul.

      theorem PowerSeries.HasSubst.smul_X {A : Type u_1} [CommRing A] {R : Type u_2} [CommRing R] [Algebra A R] {τ : Type u_3} (a : A) (t : τ) :
      theorem PowerSeries.HasSubst.smul_X' {A : Type u_1} [CommRing A] {R : Type u_2} [CommRing R] [Algebra A R] (a : A) :
      noncomputable def PowerSeries.subst {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] (a : MvPowerSeries τ S) (f : PowerSeries R) :

      Substitution of power series into a power series.

      Equations
      Instances For
        noncomputable def PowerSeries.substAlgHom {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) :

        Substitution of power series into a power series, as an AlgHom.

        Equations
        Instances For
          theorem PowerSeries.coe_substAlgHom {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) :
          (substAlgHom ha) = subst a
          theorem PowerSeries.substAlgHom_eq_aeval {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} [UniformSpace R] [DiscreteUniformity R] [UniformSpace S] [DiscreteUniformity S] (ha : HasSubst a) :

          Rewrite PowerSeries.substAlgHom as PowerSeries.aeval.

          Its use is discouraged because it introduces a topology and might lead into awkward comparisons.

          theorem PowerSeries.subst_add {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) (f g : PowerSeries R) :
          subst a (f + g) = subst a f + subst a g
          theorem PowerSeries.subst_pow {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) (f : PowerSeries R) (n : ) :
          subst a (f ^ n) = subst a f ^ n
          theorem PowerSeries.subst_mul {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) (f g : PowerSeries R) :
          subst a (f * g) = subst a f * subst a g
          theorem PowerSeries.subst_smul {A : Type u_1} [CommRing A] {R : Type u_2} [CommRing R] [Algebra A R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} [Algebra A S] [IsScalarTower A R S] (ha : HasSubst a) (r : A) (f : PowerSeries R) :
          subst a (r f) = r subst a f
          theorem PowerSeries.coeff_subst_finite {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) (f : PowerSeries R) (e : τ →₀ ) :
          (Function.support fun (d : ) => (coeff R d) f (MvPowerSeries.coeff S e) (a ^ d)).Finite
          theorem PowerSeries.coeff_subst_finite' {R : Type u_2} [CommRing R] {S : Type u_4} [CommRing S] [Algebra R S] {b : PowerSeries S} (hb : HasSubst b) (f : PowerSeries R) (e : ) :
          (Function.support fun (d : ) => (coeff R d) f (coeff S e) (b ^ d)).Finite
          theorem PowerSeries.coeff_subst {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) (f : PowerSeries R) (e : τ →₀ ) :
          (MvPowerSeries.coeff S e) (subst a f) = ∑ᶠ (d : ), (coeff R d) f (MvPowerSeries.coeff S e) (a ^ d)
          theorem PowerSeries.coeff_subst' {R : Type u_2} [CommRing R] {S : Type u_4} [CommRing S] [Algebra R S] {b : PowerSeries S} (hb : HasSubst b) (f : PowerSeries R) (e : ) :
          (coeff S e) (subst b f) = ∑ᶠ (d : ), (coeff R d) f (coeff S e) (b ^ d)
          theorem PowerSeries.constantCoeff_subst {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) (f : PowerSeries R) :
          theorem PowerSeries.map_algebraMap_eq_subst_X {R : Type u_2} [CommRing R] {S : Type u_4} [CommRing S] [Algebra R S] (f : PowerSeries R) :
          (map (algebraMap R S)) f = subst X f
          theorem PowerSeries.substAlgHom_coe {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) (p : Polynomial R) :
          theorem PowerSeries.substAlgHom_X {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) :
          (substAlgHom ha) X = a
          theorem PowerSeries.subst_coe {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) (p : Polynomial R) :
          subst a p = (Polynomial.aeval a) p
          theorem PowerSeries.subst_X {R : Type u_2} [CommRing R] {τ : Type u_3} {S : Type u_4} [CommRing S] [Algebra R S] {a : MvPowerSeries τ S} (ha : HasSubst a) :
          subst a X = a
          theorem PowerSeries.HasSubst.comp {S : Type u_4} [CommRing S] {υ : Type u_5} {T : Type u_6} [CommRing T] [Algebra S T] {a : PowerSeries S} (ha : HasSubst a) {b : MvPowerSeries υ T} (hb : HasSubst b) :
          theorem PowerSeries.substAlgHom_comp_substAlgHom {R : Type u_2} [CommRing R] {S : Type u_4} [CommRing S] {υ : Type u_5} {T : Type u_6} [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] {a : PowerSeries S} {b : MvPowerSeries υ T} [IsScalarTower R S T] (ha : HasSubst a) (hb : HasSubst b) :
          theorem PowerSeries.substAlgHom_comp_substAlgHom_apply {R : Type u_2} [CommRing R] {S : Type u_4} [CommRing S] {υ : Type u_5} {T : Type u_6} [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] {a : PowerSeries S} {b : MvPowerSeries υ T} [IsScalarTower R S T] (ha : HasSubst a) (hb : HasSubst b) (f : PowerSeries R) :
          (substAlgHom hb) ((substAlgHom ha) f) = (substAlgHom ) f
          theorem PowerSeries.subst_comp_subst {R : Type u_2} [CommRing R] {S : Type u_4} [CommRing S] {υ : Type u_5} {T : Type u_6} [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] {a : PowerSeries S} {b : MvPowerSeries υ T} [IsScalarTower R S T] (ha : HasSubst a) (hb : HasSubst b) :
          theorem PowerSeries.subst_comp_subst_apply {R : Type u_2} [CommRing R] {S : Type u_4} [CommRing S] {υ : Type u_5} {T : Type u_6} [CommRing T] [Algebra R S] [Algebra R T] [Algebra S T] {a : PowerSeries S} {b : MvPowerSeries υ T} [IsScalarTower R S T] (ha : HasSubst a) (hb : HasSubst b) (f : PowerSeries R) :
          subst b (subst a f) = subst (subst b a) f