Eisenstein polynomials #
Given an ideal π
of a commutative semiring R
, we say that a polynomial f : R[X]
is
Eisenstein at π
if f.leadingCoeff β π
, β n, n < f.natDegree β f.coeff n β π
and
f.coeff 0 β π ^ 2
. In this file we gather miscellaneous results about Eisenstein polynomials.
Main definitions #
Polynomial.IsEisensteinAt f π
: the property of being Eisenstein atπ
.
Main results #
Polynomial.IsEisensteinAt.irreducible
: if a primitivef
satisfiesf.IsEisensteinAt π
, whereπ.IsPrime
, thenf
is irreducible.
Implementation details #
We also define a notion IsWeaklyEisensteinAt
requiring only that
β n < f.natDegree β 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
).
- mem : β {n : β}, n < Polynomial.natDegree f β Polynomial.coeff f n β π
Given an ideal π
of a commutative semiring R
, we say that a polynomial f : R[X]
is weakly Eisenstein at π
if β n, n < f.natDegree β f.coeff n β π
.
Instances For
- leading : Β¬Polynomial.leadingCoeff f β π
- mem : β {n : β}, n < Polynomial.natDegree f β Polynomial.coeff f n β π
- not_mem : Β¬Polynomial.coeff f 0 β π ^ 2
Given an ideal π
of a commutative semiring R
, we say that a polynomial f : R[X]
is Eisenstein at π
if f.leadingCoeff β π
, β n, n < f.natDegree β f.coeff n β π
and
f.coeff 0 β π ^ 2
.
Instances For
If a primitive f
satisfies f.IsEisensteinAt π
, where π.IsPrime
,
then f
is irreducible.