Eisenstein's Criterion
Statement
Let be an integral domain, a prime ideal of , and
a primitive polynomial of degree . Suppose:
- for all (all non-leading coefficients lie in ),
- (the leading coefficient does not),
- (the constant term is not in ).
Then is irreducible in .
The classical case: , for a prime .
Visualization
Example: over , prime .
| Coefficient | Value | In ? | In ? |
|---|---|---|---|
| (leading) | No | No | |
| Yes | Yes | ||
| Yes | Yes | ||
| (constant) | Yes | No |
All conditions hold: ; ; . Therefore is irreducible over .
Step-by-step: suppose over . Then and . By the rational root theorem, ; checking each: , , , . No rational root, so no linear factor over , confirming irreducibility for a cubic.
Proof Sketch
-
Reduce modulo . Let be the image of . Since for and , we get .
-
Suppose with . Reducing mod gives . Since is a domain, both and must be monomials: , with .
-
Both constant terms vanish mod . So and . Then , contradicting assumption (3).
-
Conclusion. No non-trivial factorisation exists; is irreducible (among primitive polynomials, and hence in by Gauss's Lemma).
Connections
Eisenstein's Criterion applies to primitive polynomials, whose theory is developed in Gauss's Lemma (Polynomial)Gauss's Lemma (Polynomial)The product of primitive polynomials is primitive; irreducibility over a UFD transfers to irreducibility over its fraction field.Read more →. The criterion also works over any UFD, connecting it to PID Implies UFDPID Implies UFDEvery principal ideal domain is a unique factorisation domain: elements factor uniquely into irreducibles up to units and order.Read more → via the structure of prime ideals.
Lean4 Proof
-- Mathlib: Polynomial.IsEisensteinAt.irreducible
-- in Mathlib.RingTheory.Polynomial.Eisenstein.Basic
open Polynomial in
/-- x^3 - 2 is irreducible over ℤ, witnessed by the prime ideal (2). -/
theorem x_cubed_sub_two_irreducible :
Irreducible (X ^ 3 - C 2 : ℤ[X]) := by
apply IsEisensteinAt.irreducible (P := Ideal.span {2})
· constructor
· -- constant term: 2 ∈ (2)
simp [Ideal.mem_span_singleton]
· intro n hn
-- coefficients at positions 0,1,2 all lie in (2)
fin_cases n <;> simp_all [Ideal.mem_span_singleton]
· -- leading coeff 1 ∉ (2)
simp [Ideal.mem_span_singleton]
· -- constant term -2 ∉ (2)^2 = (4)
simp [Ideal.span_singleton_pow, Ideal.mem_span_singleton]
· -- (2) is prime
exact Ideal.span_singleton_prime (by norm_num) |>.mpr (by norm_num)
· -- x^3 - 2 is primitive
decideReferenced by
- Gauss's Lemma (Polynomial)Ring Theory