Ring-theoretic supplement of data.polynomial. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Main results #
mv_polynomial.is_domain
: If a ring is an integral domain, then so is its polynomial ring over finitely many variables.polynomial.is_noetherian_ring
: Hilbert basis theorem, that if a ring is noetherian then so is its polynomial ring.polynomial.wf_dvd_monoid
: If an integral domain is awf_dvd_monoid
, then so is its polynomial ring.polynomial.unique_factorization_monoid
,mv_polynomial.unique_factorization_monoid
: If an integral domain is aunique_factorization_monoid
, then so is its polynomial ring (of any number of variables).
The R
-submodule of R[X]
consisting of polynomials of degree ≤ n
.
Equations
- polynomial.degree_le R n = ⨅ (k : ℕ) (h : ↑k > n), linear_map.ker (polynomial.lcoeff R k)
The R
-submodule of R[X]
consisting of polynomials of degree < n
.
Equations
- polynomial.degree_lt R n = ⨅ (k : ℕ) (h : k ≥ n), linear_map.ker (polynomial.lcoeff R k)
The first n
coefficients on degree_lt n
form a linear equivalence with fin n → R
.
The finset of nonzero coefficients of a polynomial.
Given a polynomial, return the polynomial whose coefficients are in the ring closure of the original coefficients.
Equations
- p.restriction = p.support.sum (λ (i : ℕ), ⇑(polynomial.monomial i) ⟨p.coeff i, _⟩)
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 = p.support.sum (λ (i : ℕ), ⇑(polynomial.monomial i) ⟨p.coeff i, _⟩)
Given a polynomial whose coefficients are in some subring, return the corresponding polynomial whose coefficients are in the ambient ring.
Equations
- polynomial.of_subring T p = p.support.sum (λ (i : ℕ), ⇑(polynomial.monomial i) ↑(p.coeff i))
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
If every coefficient of a polynomial is in an ideal I
, then so is the polynomial itself
The push-forward of an ideal I
of R
to R[X]
via inclusion
is exactly the set of polynomials whose coefficients are in I
If I
is an ideal, and pᵢ
is a finite family of polynomials each satisfying
∀ k, (pᵢ)ₖ ∈ Iⁿⁱ⁻ᵏ
for some nᵢ
, then p = ∏ pᵢ
also satisfies ∀ k, pₖ ∈ Iⁿ⁻ᵏ
with n = ∑ nᵢ
.
R[X]
is never a field for any ring R
.
The only constant in a maximal ideal over a field is 0
.
If P
is a prime ideal of R
, then P.R[x]
is a prime ideal of R[x]
.
If P
is a prime ideal of R
, then P.R[x]
is a prime ideal of R[x]
.
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.
Auxiliary 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.no_zero_divisors
for the general case.
Auxiliary 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.no_zero_divisors_fin
,
and then used to prove the general case without finiteness hypotheses.
See mv_polynomial.no_zero_divisors
for the general case.
The multivariate polynomial ring over an integral domain is an integral domain.
If every coefficient of a polynomial is in an ideal I
, then so is the polynomial itself,
multivariate version.
The push-forward of an ideal I
of R
to mv_polynomial σ R
via inclusion
is exactly the set of polynomials whose coefficients are in I