Eisenstein polynomials #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4. Given an ideal
πof a commutative semiringR, we say that a polynomialf : R[X]is Eisenstein atπiff.leading_coeff β π,β n, n < f.nat_degree β f.coeff n β πandf.coeff 0 β π ^ 2. In this file we gather miscellaneous results about Eisenstein polynomials.
Main definitions #
polynomial.is_eisenstein_at f π: the property of being Eisenstein atπ.
Main results #
polynomial.is_eisenstein_at.irreducible: if a primitivefsatisfiesf.is_eisenstein_at π, whereπ.is_prime, thenfis irreducible.
Implementation details #
We also define a notion is_weakly_eisenstein_at requiring only that
β n < f.nat_degree β f.coeff n β π. This makes certain results slightly more general and it is
useful since it is sometimes better behaved (for example it is stable under polynomial.map).
Given an ideal π of a commutative semiring R, we say that a polynomial f : R[X]
is weakly Eisenstein at π if β n, n < f.nat_degree β f.coeff n β π.
- leading : f.leading_coeff β π
- mem : β {n : β}, n < f.nat_degree β f.coeff n β π
- not_mem : f.coeff 0 β π ^ 2
Given an ideal π of a commutative semiring R, we say that a polynomial f : R[X]
is Eisenstein at π if f.leading_coeff β π, β n, n < f.nat_degree β f.coeff n β π and
f.coeff 0 β π ^ 2.
If a primitive f satisfies f.is_eisenstein_at π, where π.is_prime, then f is
irreducible.