Documentation

CompPoly.ToMathlib.MvPolynomial.Equiv

MvPolynomial Equiv #

Equivalences for multivariable polynomials, including finSuccEquivNth.

def MvPolynomial.finSuccEquivNth {n : } (R : Type u_2) [CommSemiring R] (p : Fin (n + 1)) :

The algebra isomorphism between multivariable polynomials in Fin (n + 1) and polynomials over multivariable polynomials in Fin n, where the p-th (pivot) variable is the indeterminate X.

finSuccEquiv is the special case when p = 0.

Equations
    Instances For
      @[simp]
      theorem MvPolynomial.finSuccEquivNth_X_same {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} :
      @[simp]
      theorem MvPolynomial.finSuccEquivNth_X_above {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {i : Fin n} (h : p < i.succ) :
      @[simp]
      theorem MvPolynomial.finSuccEquivNth_X_below {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {i : Fin n} (h : i.castSucc < p) :
      theorem MvPolynomial.finSuccEquivNth_coeff_coeff {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} (m : Fin n →₀ ) (f : MvPolynomial (Fin (n + 1)) R) (i : ) :

      The coefficient of m in the i-th coefficient of finSuccEquivNth R p f equals the coefficient of m.insertNth p i in f.

      theorem MvPolynomial.eval_eq_eval_mv_eval_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} (s : Fin nR) (y : R) (f : MvPolynomial (Fin (n + 1)) R) :

      The evaluation of f at Fin.insertNth p y s equals the evaluation at y of the polynomial obtained by partially evaluating finSuccEquivNth R p f at s.

      theorem MvPolynomial.support_coeff_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {f : MvPolynomial (Fin (n + 1)) R} {i : } {m : Fin n →₀ } :

      A monomial index m is in the support of the i-th coefficient of finSuccEquivNth R p f if and only if m.insertNth p i is in the support of f.

      theorem MvPolynomial.totalDegree_coeff_finSuccEquivNth_add_le {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} (f : MvPolynomial (Fin (n + 1)) R) (i : ) (hi : ((finSuccEquivNth R p) f).coeff i 0) :

      The totalDegree of a multivariable polynomial f is at least i more than the totalDegree of the ith coefficient of finSuccEquivNth R p applied to f, if this is nonzero.

      theorem MvPolynomial.support_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} (f : MvPolynomial (Fin (n + 1)) R) :
      ((finSuccEquivNth R p) f).support = Finset.image (fun (m : Fin (n + 1) →₀ ) => m p) f.support

      The support of finSuccEquivNth R p f equals the support of f projected onto the p-th variable.

      theorem MvPolynomial.mem_support_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {f : MvPolynomial (Fin (n + 1)) R} {x : } :
      x ((finSuccEquivNth R p) f).support x (fun (m : Fin (n + 1) →₀ ) => m p) '' f.support
      theorem MvPolynomial.image_support_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {f : MvPolynomial (Fin (n + 1)) R} {i : } :
      Finset.image (Finsupp.insertNth p i) (((finSuccEquivNth R p) f).coeff i).support = {mf.support | m p = i}
      theorem MvPolynomial.mem_image_support_coeff_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {f : MvPolynomial (Fin (n + 1)) R} {i : } {x : Fin (n + 1) →₀ } :
      theorem MvPolynomial.mem_support_coeff_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {f : MvPolynomial (Fin (n + 1)) R} {i : } {x : Fin n →₀ } :
      theorem MvPolynomial.support_finSuccEquivNth_nonempty {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {f : MvPolynomial (Fin (n + 1)) R} (h : f 0) :
      theorem MvPolynomial.degree_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} {f : MvPolynomial (Fin (n + 1)) R} (h : f 0) :
      ((finSuccEquivNth R p) f).degree = (degreeOf p f)

      The degree of finSuccEquivNth R p f equals the p-th degree of f.

      theorem MvPolynomial.natDegree_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} (f : MvPolynomial (Fin (n + 1)) R) :

      The natDegree of finSuccEquivNth R p f equals the p-th natDegree of f.

      theorem MvPolynomial.degreeOf_coeff_finSuccEquivNth {n : } {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} (f : MvPolynomial (Fin (n + 1)) R) (j : Fin n) (i : ) :

      The degree of j in the ith coefficient of finSuccEquivNth R p f is at most the degree of j.succ in f.

      theorem MvPolynomial.finSuccEquivNth_rename_finSuccEquivNth {n : } {σ : Type u_1} {R : Type u_2} [CommSemiring R] {p : Fin (n + 1)} (e : σ Fin n) (φ : MvPolynomial (Option σ) R) :

      Consider a multivariate polynomial φ whose variables are indexed by Option σ, and suppose that σ ≃ Fin n. Then one may view φ as a polynomial over MvPolynomial (Fin n) R, by

      1. renaming the variables via Option σ ≃ Fin (n+1), and then singling out the p-th variable via MvPolynomial.finSuccEquivNth R p;
      2. first viewing it as polynomial over MvPolynomial σ R via MvPolynomial.optionEquivLeft, and then renaming the variables.

      This theorem shows that both constructions are the same.