Documentation

CompPoly.ToMathlib.MvPolynomial.Equiv

MvPolynomial Equiv #

Equivalences for multivariable polynomials, including finSuccEquivNth.

noncomputable 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.

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.