Documentation

Mathlib.RingTheory.MvPowerSeries.Trunc

Formal (multivariate) power series - Truncation #

Restrict the support of a multivariate power series to a finite set of monomials and obtain a multivariate polynomial.

Equations
Instances For
    theorem MvPowerSeries.truncFinset_apply {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} (p : MvPowerSeries σ R) :
    (truncFinset R s) p = xs, (MvPolynomial.monomial x) ((coeff x) p)
    theorem MvPowerSeries.coeff_truncFinset_of_mem {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} {x : σ →₀ } (p : MvPowerSeries σ R) (h : x s) :
    theorem MvPowerSeries.coeff_truncFinset_eq_zero {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} {x : σ →₀ } (p : MvPowerSeries σ R) (h : xs) :
    theorem MvPowerSeries.coeff_truncFinset {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} [DecidableEq σ] {x : σ →₀ } (p : MvPowerSeries σ R) :
    theorem MvPowerSeries.truncFinset_monomial {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} {x : σ →₀ } (r : R) (h : x s) :
    theorem MvPowerSeries.truncFinset_monomial_eq_zero {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} {x : σ →₀ } (r : R) (h : xs) :
    (truncFinset R s) ((monomial x) r) = 0
    theorem MvPowerSeries.truncFinset_C {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} (h : 0 s) (r : R) :
    theorem MvPowerSeries.truncFinset_one {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} (h : 0 s) :
    (truncFinset R s) 1 = 1
    theorem MvPowerSeries.truncFinset_truncFinset {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s t : Finset (σ →₀ )} (h : s t) (p : MvPowerSeries σ R) :
    (truncFinset R s) ((truncFinset R t) p) = (truncFinset R s) p
    theorem MvPowerSeries.truncFinset_map {σ : Type u_1} {R : Type u_2} {S : Type u_3} [CommSemiring R] {s : Finset (σ →₀ )} [CommSemiring S] (f : R →+* S) (p : MvPowerSeries σ R) :
    (truncFinset S s) ((map f) p) = (MvPolynomial.map f) ((truncFinset R s) p)
    theorem MvPowerSeries.coeff_truncFinset_mul_truncFinset_eq_coeff_mul {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} (hs : IsLowerSet s) {x : σ →₀ } (f g : MvPowerSeries σ R) (hx : x s) :
    MvPolynomial.coeff x ((truncFinset R s) f * (truncFinset R s) g) = (coeff x) (f * g)
    theorem MvPowerSeries.truncFinset_truncFinset_pow {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} (hs : IsLowerSet s) {k : } (hk : 1 k) (p : MvPowerSeries σ R) :
    (truncFinset R s) (((truncFinset R s) p) ^ k) = (truncFinset R s) (p ^ k)
    theorem MvPowerSeries.support_truncFinset_subset {σ : Type u_1} {R : Type u_2} [CommSemiring R] {s : Finset (σ →₀ )} (p : MvPowerSeries σ R) :
    ((truncFinset R s) p).support s
    def MvPowerSeries.trunc {σ : Type u_1} [DecidableEq σ] (R : Type u_4) [CommSemiring R] (n : σ →₀ ) :

    The nth truncation of a multivariate formal power series to a multivariate polynomial

    If f : MvPowerSeries σ R and n : σ →₀ ℕ is a (finitely-supported) function from σ to the naturals, then trunc R n f is the multivariable polynomial obtained from f by keeping only the monomials $c\prod_i X_i^{a_i}$ where a i ≤ n i for all i and a i < n i for some i.

    Equations
    Instances For
      theorem MvPowerSeries.coeff_trunc {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (m n : σ →₀ ) (φ : MvPowerSeries σ R) :
      MvPolynomial.coeff m ((trunc R n) φ) = if m < n then (coeff m) φ else 0
      @[simp]
      theorem MvPowerSeries.trunc_one {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (n : σ →₀ ) (hnn : n 0) :
      (trunc R n) 1 = 1
      @[simp]
      theorem MvPowerSeries.trunc_C {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (n : σ →₀ ) (hnn : n 0) (a : R) :
      (trunc R n) (C a) = MvPolynomial.C a
      @[simp]
      theorem MvPowerSeries.trunc_C_mul {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (n : σ →₀ ) (a : R) (p : MvPowerSeries σ R) :
      (trunc R n) (C a * p) = MvPolynomial.C a * (trunc R n) p
      @[simp]
      theorem MvPowerSeries.trunc_map {σ : Type u_1} {R : Type u_2} {S : Type u_3} [DecidableEq σ] [CommSemiring R] [CommSemiring S] (n : σ →₀ ) (f : R →+* S) (p : MvPowerSeries σ R) :
      (trunc S n) ((map f) p) = (MvPolynomial.map f) ((trunc R n) p)
      def MvPowerSeries.trunc' {σ : Type u_1} [DecidableEq σ] (R : Type u_4) [CommSemiring R] (n : σ →₀ ) :

      The nth truncation of a multivariate formal power series to a multivariate polynomial.

      If f : MvPowerSeries σ R and n : σ →₀ ℕ is a (finitely-supported) function from σ to the naturals, then trunc' R n f is the multivariable polynomial obtained from f by keeping only the monomials $c\prod_i X_i^{a_i}$ where a i ≤ n i for all i.

      Equations
      Instances For
        theorem MvPowerSeries.coeff_trunc' {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (m n : σ →₀ ) (φ : MvPowerSeries σ R) :
        MvPolynomial.coeff m ((trunc' R n) φ) = if m n then (coeff m) φ else 0

        Coefficients of the truncation of a multivariate power series.

        theorem MvPowerSeries.trunc'_trunc' {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] {n m : σ →₀ } (h : n m) (φ : MvPowerSeries σ R) :
        (trunc' R n) ((trunc' R m) φ) = (trunc' R n) φ
        @[simp]
        theorem MvPowerSeries.trunc'_one {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (n : σ →₀ ) :
        (trunc' R n) 1 = 1

        Truncation of the multivariate power series 1

        @[simp]
        theorem MvPowerSeries.trunc'_C {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (n : σ →₀ ) (a : R) :
        (trunc' R n) (C a) = MvPolynomial.C a
        theorem MvPowerSeries.coeff_trunc'_mul_trunc'_eq_coeff_mul {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (n : σ →₀ ) (f g : MvPowerSeries σ R) {m : σ →₀ } (h : m n) :
        MvPolynomial.coeff m ((trunc' R n) f * (trunc' R n) g) = (coeff m) (f * g)

        Coefficients of the truncation of a product of two multivariate power series

        @[deprecated MvPowerSeries.coeff_trunc'_mul_trunc'_eq_coeff_mul (since := "2026-02-20")]
        theorem MvPowerSeries.coeff_mul_eq_coeff_trunc'_mul_trunc' {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (n : σ →₀ ) (f g : MvPowerSeries σ R) {m : σ →₀ } (h : m n) :
        (coeff m) (f * g) = MvPolynomial.coeff m ((trunc' R n) f * (trunc' R n) g)
        theorem MvPowerSeries.trunc'_trunc'_pow {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] {n : σ →₀ } {k : } (hk : 1 k) (φ : MvPowerSeries σ R) :
        (trunc' R n) (((trunc' R n) φ) ^ k) = (trunc' R n) (φ ^ k)
        @[simp]
        theorem MvPowerSeries.trunc'_C_mul {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] (n : σ →₀ ) (a : R) (p : MvPowerSeries σ R) :
        (trunc' R n) (C a * p) = MvPolynomial.C a * (trunc' R n) p
        @[simp]
        theorem MvPowerSeries.trunc'_map {σ : Type u_1} {R : Type u_2} {S : Type u_3} [DecidableEq σ] [CommSemiring R] [CommSemiring S] (n : σ →₀ ) (f : R →+* S) (p : MvPowerSeries σ R) :
        (trunc' S n) ((map f) p) = (MvPolynomial.map f) ((trunc' R n) p)
        theorem MvPowerSeries.totalDegree_trunc' {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] {n : σ →₀ } (φ : MvPowerSeries σ R) :
        theorem MvPowerSeries.ext_trunc' {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] {f g : MvPowerSeries σ R} :
        f = g ∀ (n : σ →₀ ), (trunc' R n) f = (trunc' R n) g
        theorem MvPowerSeries.eq_iff_frequently_trunc'_eq {σ : Type u_1} {R : Type u_2} [DecidableEq σ] [CommSemiring R] {f g : MvPowerSeries σ R} :
        f = g ∃ᶠ (m : σ →₀ ) in Filter.atTop, (trunc' R m) f = (trunc' R m) g