The R
-submodule of R[X]
consisting of polynomials of degree ≤ n
.
Equations
- polynomial.degree_le R n = ⨅ (k : ℕ) (h : ↑k > n), (polynomial.lcoeff R k).ker
The R
-submodule of R[X]
consisting of polynomials of degree < n
.
Equations
- polynomial.degree_lt R n = ⨅ (k : ℕ) (h : k ≥ n), (polynomial.lcoeff R k).ker
Given a polynomial, return the polynomial whose coefficients are in the ring closure of the original coefficients.
Equations
- p.restriction = {support := p.support, to_fun := λ (i : ℕ), ⟨p.to_fun i, _⟩, mem_support_to_fun := _}
Given a polynomial p
and a subring T
that contains the coefficients of p
,
return the corresponding polynomial whose coefficients are in `T.
Equations
- p.to_subring T hp = {support := p.support, to_fun := λ (i : ℕ), ⟨p.to_fun i, _⟩, mem_support_to_fun := _}
Given a polynomial whose coefficients are in some subring, return the corresponding polynomial whose coefificents are in the ambient ring.
Equations
- polynomial.of_subring T p = {support := p.support, to_fun := subtype.val ∘ p.to_fun, mem_support_to_fun := _}
The push-forward of an ideal I
of R
to polynomial R
via inclusion
is exactly the set of polynomials whose coefficients are in I
If I
is an ideal of R
, then the ring polynomials over the quotient ring I.quotient
is
isomorphic to the quotient of polynomial R
by the ideal map C I
,
where map C I
contains exactly the polynomials whose coefficients all lie in I
Equations
- ideal.polynomial_quotient_equiv_quotient_polynomial = {to_fun := ⇑(polynomial.eval₂_ring_hom (ideal.quotient.lift I ((ideal.quotient.mk (ideal.map polynomial.C I)).comp polynomial.C) ideal.quotient_map_C_eq_zero) (⇑(ideal.quotient.mk (ideal.map polynomial.C I)) polynomial.X)), inv_fun := ⇑(ideal.quotient.lift (ideal.map polynomial.C I) (polynomial.eval₂_ring_hom (polynomial.C.comp (ideal.quotient.mk I)) polynomial.X) ideal.eval₂_C_mk_eq_zero), left_inv := _, right_inv := _, map_mul' := _, map_add' := _}
Transport an ideal of R[X]
to an R
-submodule of R[X]
.
Given an ideal I
of R[X]
, make the R
-submodule of I
consisting of polynomials of degree ≤ n
.
Equations
- I.degree_le n = polynomial.degree_le R n ⊓ I.of_polynomial
Given an ideal I
of R[X]
, make the ideal in R
of
leading coefficients of polynomials in I
with degree ≤ n
.
Equations
- I.leading_coeff_nth n = submodule.map (polynomial.lcoeff R n) (I.degree_le ↑n)
Given an ideal I
in R[X]
, make the ideal in R
of the
leading coefficients in I
.
Equations
- I.leading_coeff = ⨆ (n : ℕ), I.leading_coeff_nth n
Hilbert basis theorem: a polynomial ring over a noetherian ring is a noetherian ring.
The multivariate polynomial ring in finitely many variables over a noetherian ring is itself a noetherian ring.
Equations
Auxilliary lemma:
Multivariate polynomials over an integral domain
with variables indexed by fin n
form an integral domain.
This fact is proven inductively,
and then used to prove the general case without any finiteness hypotheses.
See mv_polynomial.integral_domain
for the general case.
Auxilliary definition:
Multivariate polynomials in finitely many variables over an integral domain form an integral domain.
This fact is proven by transport of structure from the mv_polynomial.integral_domain_fin
,
and then used to prove the general case without finiteness hypotheses.
See mv_polynomial.integral_domain
for the general case.
Equations
The multivariate polynomial ring over an integral domain is an integral domain.
Equations
- mv_polynomial.integral_domain = {add := comm_ring.add mv_polynomial.comm_ring, add_assoc := _, zero := comm_ring.zero mv_polynomial.comm_ring, zero_add := _, add_zero := _, neg := comm_ring.neg mv_polynomial.comm_ring, add_left_neg := _, add_comm := _, mul := comm_ring.mul mv_polynomial.comm_ring, mul_assoc := _, one := comm_ring.one mv_polynomial.comm_ring, one_mul := _, mul_one := _, left_distrib := _, right_distrib := _, mul_comm := _, exists_pair_ne := _, eq_zero_or_eq_zero_of_mul_eq_zero := _}