Mathlib theorem · Existing formal mathematics

Existing in Mathlib · Algebra and number theory

Eisenstein Criterion

Choose a prime ideal P in an integral domain. If every coefficient below the leading term lies in P, the leading coefficient stays outside P, the constant coefficient stays outside P², and the polynomial is primitive with positive degree, then the polynomial cannot factor into two nonunits.

Exact theorem

Exact Mathlib statement

theorem Polynomial.irreducible_of_eisenstein_criterion {R : Type*} [CommRing R] [IsDomain R] {f : R[X]} {P : Ideal R} (hP : P.IsPrime) (hfl : f.leadingCoeff ∉ P) (hfP : ∀ n : ℕ, ↑n < degree f → f.coeff n ∈ P) (hfd0 : 0 < degree f) (h0 : f.coeff 0 ∉ P ^ 2) (hu : f.IsPrimitive) : Irreducible f

The theorem at a glance

Eisenstein Criterion at a glance

A visual guide to the theorem's hypotheses, structure, and conclusion; the exact statement gives the formal detail.

A primitive positive-degree polynomial satisfying the stated P and P² coefficient conditions is irreducible. Explanatory diagram.
Detailed visual description

The poster centers the exact hypotheses above a coefficient row with the leading coefficient outside P and every lower coefficient inside P. A compact P² test is local to the constant coefficient: a₀ remains outside the empty P² enclosure. The route below passes through R/P and FractionRing(R/P), where the lower coefficients vanish and generalized Eisenstein is applied at q = X.

Statement structure

Statement and scope

Statement map for Eisenstein CriterionA primitive positive-degree polynomial over an integral domain is irreducible when a prime ideal contains every lower coefficient but not the leading coefficient, while its square does not contain the constant coefficient. Claim boundary: This target indexes Mathlib's prime-ideal Eisenstein criterion for a polynomial over a commutative integral domain. The conclusion requires a prime ideal P, positive degree, primitivity, leading coefficient outside P, every coefficient strictly below the degree inside P, and constant coefficient outside P². It concludes irreducibility in R[X]; it is not an unrestricted prime-element or algorithmic criterion. The pinned upstream declaration is Polynomial.irreducible_of_eisenstein_criterion. The complete formal statement is available in the Exact Mathlib statement section.Mathematical readingA primitivepositive-degreepolynomial over anintegral domain isirreducible when a primeideal contains everylower coefficient butnot the leadingcoefficient, while itssquare does not containthe constantcoefficient.Claim boundaryThis target indexesMathlib's prime-idealEisenstein criterion fora polynomial over acommutative integraldomain. The conclusionrequires a prime idealP, positive degree,primitivity, leadingcoefficient outside P,every coefficientstrictly below thedegree inside P, andconstant coefficientoutside P². It concludesirreducibility in R[X];it is not anunrestrictedprime-element oralgorithmic criterion.Pinned declarationmathlib ·Polynomial.irreducible_of_eisenstein_criterionStatement map for Eisenstein CriterionA primitive positive-degree polynomial over an integral domain is irreducible when a prime ideal contains every lower coefficient but not the leading coefficient, while its square does not contain the constant coefficient. Claim boundary: This target indexes Mathlib's prime-ideal Eisenstein criterion for a polynomial over a commutative integral domain. The conclusion requires a prime ideal P, positive degree, primitivity, leading coefficient outside P, every coefficient strictly below the degree inside P, and constant coefficient outside P². It concludes irreducibility in R[X]; it is not an unrestricted prime-element or algorithmic criterion. The pinned upstream declaration is Polynomial.irreducible_of_eisenstein_criterion. The complete formal statement is available in the Exact Mathlib statement section.Mathematical readingA primitivepositive-degreepolynomial over anintegral domain isirreducible when a primeideal contains everylower coefficient butnot the leadingcoefficient, while itssquare does not containthe constantcoefficient.Claim boundaryThis target indexesMathlib's prime-idealEisenstein criterion fora polynomial over acommutative integraldomain. The conclusionrequires a prime idealP, positive degree,primitivity, leadingcoefficient outside P,every coefficientstrictly below thedegree inside P, andconstant coefficientoutside P². It concludesirreducibility in R[X];it is not anunrestrictedprime-element oralgorithmic criterion.Pinned declarationmathlib ·Polynomial.irreducible_of_eisenstein_criterion

Read the exact Mathlib declaration

This map summarizes the statement's structure; the exact Mathlib declaration remains authoritative.

Every coefficient below the degree lies in P, the leading coefficient lies outside P, and the constant coefficient lies outside P². Explanatory scientific diagram.
Detailed visual description

The upper emerald enclosure shows the lower-coefficient membership pattern: a₀, a₁, the intervening coefficients, and aₙ₋₁ lie inside P, while the leading coefficient aₙ lies beyond its boundary. A thin gold leader connects a₀ to a separate nested-set inset, where a₀ lies inside P but clearly outside P². The inset is deliberately local to a₀ and makes no P²-membership claim about the other lower coefficients. Primitivity, positive degree, and the irreducibility conclusion remain in the surrounding deterministic theorem copy rather than being encoded as extra symbols.

Why it matters

A mathematical landmark

Eisenstein's criterion is a fundamental and widely used test for polynomial irreducibility. Mathlib states it in a general prime-ideal form and derives it from a generalized quotient-and-fraction-field criterion, making the exact role of primitivity and the P² obstruction explicit.

ProofAtlas record

What has been checked

Upstream indexedPinned source bytes verified locally
Locally reproducedExact upstream declaration replayed
Reviewed pageCurrent public presentation reviewed
Accepted Atlas resultNot recorded for the preferred artifact

Mathlib is the source of the theorem; the local Lean replay and page review are separate.

Claim boundary

No new theorem is claimed

This target indexes Mathlib's prime-ideal Eisenstein criterion for a polynomial over a commutative integral domain. The conclusion requires a prime ideal P, positive degree, primitivity, leading coefficient outside P, every coefficient strictly below the degree inside P, and constant coefficient outside P². It concludes irreducibility in R[X]; it is not an unrestricted prime-element or algorithmic criterion.

Source and local evidence

Where the theorem comes from

Existing declaration
Polynomial.irreducible_of_eisenstein_criterion in mathlib
Relationship
The checked artifact is the upstream declaration itself
Local Lean evidence
artifact.library.mathlib.eisenstein-criterion.v001
Source
Open the pinned upstream reference