Formulas, constructions and symmetry
Babylonian scribes solved quadratic problems nearly four thousand years ago, and Muḥammad ibn Mūsā al-Khwārizmī systematised the method in Baghdad in the ninth century. Cubic equations resisted much longer. ʿUmar al-Khayyām solved them geometrically, with intersecting conics, in the eleventh century. Scipione del Ferro and Niccolò Tartaglia found a formula in radicals in sixteenth-century Italy, Gerolamo Cardano published it in 1545, and Lodovico Ferrari reduced the quartic to a cubic. Then, for two and a half centuries, every attempt at the quintic failed. Paolo Ruffini (1799) and Niels Henrik Abel (1824) showed why: there is no general formula. Évariste Galois found the deeper reason before he died, aged twenty, in 1832. Whether the roots of a polynomial can be expressed by radicals depends on the group of symmetries of its roots.
A second set of ancient questions came from Greek geometry. With straightedge and compass, can one double the cube (construct ), trisect an arbitrary angle, or construct a regular heptagon? All three are impossible, proved by Pierre Wantzel in 1837. The proof is a short argument about the degree of a field extension, which is a dimension in the sense of linear algebra. In the same circle of ideas, Carl Friedrich Gauss showed in 1796, aged nineteen, that the regular 17-gon can be constructed.
This lesson builds the theory that answers both sets of questions. Fields are studied through their extensions, which are measured by degree; finite fields are built and classified; and Galois's correspondence between intermediate fields and subgroups is stated and applied. We use the language of quotient rings throughout: is the field obtained by adjoining a root of an irreducible .
Adjoining a root, and permuting roots
Start with and adjoin . The field consists of all with : closed under the field operations, since . As a vector space over it has basis , so it has degree . The map is a field automorphism fixing . It swaps the two roots of , and nothing in the algebra of can tell from .
Now adjoin a root of . Its three roots are , and , where . Over these roots are indistinguishable too, and the smallest field containing all three, , has degree . Its automorphisms permute the three roots in all possible ways. Each subgroup of this symmetry group fixes an intermediate field. The rotation subgroup of order fixes , and each reflection fixes one of the three cubic fields . Galois's theorem says that this matching of subgroups with intermediate fields is a perfect, inclusion-reversing dictionary.
The roots of x³ = 2
Three roots on a circle of radius ∛2. The Galois group of x³ − 2 permutes them like the symmetries of this triangle: all six permutations occur.
Drag the points, or focus one with Tab and use the arrow keys (hold Shift for small steps).
Solutions of wⁿ = c for n = 3:
- w₀ = 1.26
- w₁ = −0.63 + 1.091i
- w₂ = −0.63 − 1.091i
All roots lie on the circle of radius |c|^(1/n) ≈ 1.26.
Neighbouring roots are 120° apart: 360° ÷ 3.
w₀ is the principal root, at the angle (arg c)/n; the others follow by equal turns.
The roots add up to 0, so the regular polygon is balanced around the origin.
Extensions, degrees and Galois groups
All rings are commutative with . Recall that a ring homomorphism out of a field is injective (Proposition 3 of rings), so a homomorphism of fields lets us regard as a subfield of .
Definition— field extension and degree
A field extension is a field containing as a subfield. Then is a vector space over , and its dimension is the degree. The extension is finite if . A field with is an intermediate field.
Definition— algebraic elements and minimal polynomials
is algebraic over if for some non-zero , and transcendental otherwise. The minimal polynomial of an algebraic is the monic polynomial of least degree with . is the smallest subfield of containing and , and is defined in the same way.
Definition— splitting fields, normal and separable
A splitting field of is an extension in which factors into linear factors and which is generated over by the roots of . A polynomial is separable if its roots in a splitting field are distinct. A finite extension is normal if every irreducible polynomial in with a root in splits in , and separable if every element's minimal polynomial is separable.
Definition— characteristic and Frobenius
The characteristic of a field is the least with , or if there is none. It is or a prime , because embeds in a field only if it is a domain. The prime field is the smallest subfield, either or . In characteristic the Frobenius map is .
Definition— automorphism group, fixed field, Galois extension
For an extension , is the group of field automorphisms with for all . For a subgroup of automorphisms of , the fixed field is . A finite extension is Galois if it is normal and separable. Equivalently (Theorem 9), , or again, is the splitting field over of a separable polynomial. Then is its Galois group, and the Galois group of a separable polynomial is that of its splitting field.
A gallery of extensions
Example— Quadratic and biquadratic extensions
has degree over , with basis . has degree over , with basis (see the exercises). Its automorphisms send and independently, giving . It equals , a primitive element, whose minimal polynomial is .
Example— A non-normal extension
has degree , since is irreducible (Theorem 3 below). It contains one root of but not the two complex ones, so it is not normal. An automorphism must send to a cube root of in , and there is only one, so is trivial: smaller than the degree. The splitting field is , of degree .
Example— Cyclotomic fields
generates , the splitting field of . For a prime , the minimal polynomial of is , which is irreducible (apply Eisenstein's criterion to ). So . The automorphism is defined for each , and , which is cyclic.
Example— Transcendental and infinite extensions
and are transcendental over (Lindemann 1882, Hermite 1873), so , the field of rational functions, and . is infinite too, since is uncountable and every finite extension of is countable. The algebraic numbers form an algebraic extension of of infinite degree.
Example— Finite fields and an inseparable extension
has degree over , and Frobenius is its non-trivial automorphism. Separability can fail only in characteristic . Over , the polynomial is irreducible, and in a splitting field it becomes , with a single root of multiplicity .
Degrees, minimal polynomials and constructions
Theorem— Theorem 1 (tower law)
If are fields, then , in the sense that both sides are finite or both are infinite. If is a basis of over and a basis of over , then is a basis of over .
Proof
Spanning. For write with , and each with . Then . Independence. If with , then with coefficients in , so each , and so each . Count the basis. (If either factor is infinite, the same argument produces arbitrarily large independent sets in .)
∎
Theorem— Theorem 2 (simple algebraic extensions)
Let be algebraic over . Then: (a) is irreducible, and ; (b) , with ; (c) , with basis . Conversely, a monic irreducible with is the minimal polynomial.
Proof
The evaluation map , , is a ring homomorphism with image . Its kernel is a non-zero ideal of the PID , so it is for the monic polynomial of least degree in it, which is . This gives the divisibility in (a). The image is a subring of a field, hence a domain, so is a prime ideal; it is non-zero, hence maximal in the PID , and is irreducible. By the first isomorphism theorem , which is a field. So is a field containing and , and therefore equals . Part (c) is Corollary 10 of the quotients lesson. Finally, if is monic irreducible with , then forces .
∎
Consequences: is algebraic iff . Every element of a finite extension is algebraic, since cannot all be independent. If are algebraic, then by the tower law, so , and are algebraic. The algebraic numbers form a field.
Theorem— Theorem 3 (two irreducible cubics)
and are irreducible over . Hence and .
Proof
A cubic that factors over has a linear factor, hence a rational root. Rational root test: if in lowest terms is a root of , then and . For the candidates give , never . For the candidates are , and evaluation gives : never . Finally with gives , i.e. for . Apply Theorem 2.
∎
Theorem— Theorem 4 (Wantzel: constructible numbers)
If a real number can be constructed from and with straightedge and compass, then is a power of . Consequently the cube cannot be doubled, the angle cannot be trisected, and the regular heptagon cannot be constructed.
Proof
A construction produces points step by step, each an intersection of two lines or circles drawn through points already constructed. Let be the field generated over by the coordinates of the points after steps. A line through two points with coordinates in has an equation with . A circle has an equation with . Intersecting two lines means solving linear equations, so the new coordinates lie in . Intersecting a line and a circle means substituting the line into the circle, which gives a quadratic equation over . Two circles reduce to this case, since subtracting their equations gives a line. So each step has , and by the tower law . If is a coordinate of a constructed point, then , and divides (tower law again).
Doubling a cube of volume means constructing , of degree . Trisecting would construct , of degree . A regular heptagon would give , a root of the irreducible cubic . None of these degrees is a power of .
∎
The converse direction, together with Gauss's analysis of cyclotomic fields, gives the Gauss–Wantzel theorem: the regular -gon is constructible iff with distinct Fermat primes . The only known Fermat primes are ; whether there are more is an open problem. Squaring the circle (constructing ) is impossible for a different reason: Lindemann's 1882 theorem that is transcendental, which is not part of Galois theory.
Finite fields
Theorem— Theorem 5 (existence and uniqueness of splitting fields)
Every of degree has a splitting field with , and any two splitting fields of over are isomorphic over .
Proof
Existence (Kronecker). Let be an irreducible factor of . Then is a field containing and a root of , with . Over , with . Induct on and use the tower law. Uniqueness (sketch). An isomorphism extends to , sending the root to any chosen root of . Inducting on the degree, it extends to an isomorphism of splitting fields. Full details: Dummit and Foote, Theorem 13.27.
∎
Theorem— Theorem 6 (finite fields)
Let be a finite field.
- has prime characteristic , contains , and has elements where .
- Frobenius is an automorphism of .
- For every prime power there is a field with elements, namely the splitting field of over , which consists exactly of the roots of that polynomial. It is unique up to isomorphism, and is denoted .
- is cyclic of order .
- The subfields of are exactly one for each divisor of .
- is cyclic of order , generated by .
Proof
(1) The characteristic is not , since is finite, so it is a prime , and the image of is . As an -vector space of dimension , has elements.
(2) , and , because for . A field homomorphism is injective, and an injective self-map of a finite set is bijective.
(3) has derivative , so and has distinct roots in a splitting field . The roots form the fixed set of the ring homomorphism , so they are closed under , and inverses: they form a subfield with elements, which contains all roots of and hence equals . For uniqueness, if , then every satisfies by Lagrange's theorem in the group , so every element of is a root of . As has at most roots, is a splitting field of over , and Theorem 5 applies.
(4) Let , and let be the number of elements of order in . If , take of order . The powers of are roots of , which has at most roots in a field, so every element of order is a power of , and exactly of those have order . Thus for all . But (groups lesson, Proposition 4), so for every . In particular : there is an element of order .
(5) If with , then , so , and is the set of roots of by (3), so it is unique. Conversely, if , then . So divides , which splits into distinct linear factors in . Its roots form a subfield, by the argument in (3).
(6) If with , all elements would be roots of , which has only roots. So has order , and by Theorem 7. Hence the group is .
∎
Counting degrees in the factorisation (over monic irreducible ) gives . Möbius inversion yields Gauss's formula for the number of monic irreducible polynomials of degree over :
So irreducible polynomials of every degree exist, and for any irreducible of degree . The first experiment checks the formula by sieving. Note that is not , which has the nilpotent element .
The Galois correspondence
Theorem— Theorem 7 (automorphisms are bounded by the degree)
For a finite extension , . For a simple extension , the automorphisms correspond to the roots of that lie in .
Proof
Simple case. An automorphism over is determined by , because . And . Conversely, for each root of , gives an embedding . Since , it is onto . So is the number of roots of in , which is at most .
General case. Distinct automorphisms are linearly independent over as functions (Dedekind's lemma: take a shortest dependence ; substituting for and subtracting times the original produces a shorter one). They are -linear maps of the -vector space of dimension . The space of such maps, viewed as an -vector space by post-multiplication, has dimension (a -linear map is determined by its values on a basis). So .
∎
Theorem— Theorem 8 (Artin)
Let be a finite group of automorphisms of a field . Then , and .
Proof
Let and suppose with . The linear system () has equations and unknowns, so it has a non-zero solution in . Choose one with the fewest non-zero entries, scaled so that some entry equals . For , applying to the equations permutes them (as runs over , so does ), so is again a solution. Then is a solution with fewer non-zero entries (the scaled entry cancels), so it is . Hence every , and the equation for is a non-trivial linear relation over . So any elements are dependent, and . On the other hand , so by Theorem 7, . All are equal, and .
∎
Theorem— Theorem 9 (characterisations of Galois extensions; stated)
For a finite extension the following are equivalent: (a) is normal and separable; (b) is the splitting field over of a separable polynomial; (c) ; (d) . In characteristic , and over finite fields, every irreducible polynomial is separable, and (a) reduces to normality.
The equivalence of (c) and (d) follows from Artin's theorem: with we have and , so by the tower law . That (b) implies (c) is proved by counting the extensions of step by step through a tower of simple extensions, as in Theorem 7. Each step offers as many choices as the degree, because the polynomial is separable. For the remaining implications see Stewart (2015), chapters 9–12, or Dummit and Foote, §14.1–14.2.
Theorem— Theorem 10 (fundamental theorem of Galois theory)
Let be a finite Galois extension with group .
- The maps and are mutually inverse, inclusion-reversing bijections between subgroups of and intermediate fields .
- and .
- is Galois iff is normal in , and then .
Proof
Both maps reverse inclusions: a larger group fixes less, and a larger field is fixed by fewer automorphisms. (1) For a subgroup , Artin's theorem gives . For an intermediate field : is the splitting field over of a separable , hence also over , so is Galois and by Theorem 9(d). (2) Theorem 9(c) for gives the first equation; the tower law and Lagrange's theorem give the second.
(3) (Sketch.) For , . If is normal, then for all , since permutes the roots of minimal polynomials of elements of , which all lie in . So is normal. Restriction is then a homomorphism with kernel . Its image has order , so is Galois and the first isomorphism theorem gives the isomorphism. Conversely, if is normal, then for all , and restriction gives automorphisms of , so is Galois by Theorem 9(c).
∎
Example— The splitting field of x³ − 2
has degree : , and has degree over . Since is Galois, . acts faithfully on the three roots, numbered , , , so (complex conjugation is the transposition ). The six subgroups of match six intermediate fields:
| subgroup of | its order | fixed field | degree over | Galois over ? |
|---|---|---|---|---|
| 1 | 6 | yes | ||
| (fixes ) | 2 | 3 | no | |
| 2 | 3 | no | ||
| 2 | 3 | no | ||
| 3 | 2 | yes | ||
| 6 | 1 | yes |
The three cubic fields are not Galois over , matching the three non-normal subgroups of order . is Galois, matching the normal subgroup , and .
Example— Finite fields and a biquadratic field
For , , whose subgroups () fix exactly . This is Theorem 6(5) seen through Galois theory. For , the group has three subgroups of order , matching the three quadratic subfields , , . All are Galois, because every subgroup of an abelian group is normal.
Solvability by radicals
Definition— radical extension, solvable group
An extension is radical if there is a tower with and . A polynomial is solvable by radicals if its splitting field is contained in a radical extension of . A group is solvable if there is a chain with each abelian.
Theorem— Theorem 11 (Galois's criterion; proof outlined)
Let have characteristic and . Then is solvable by radicals if and only if is a solvable group.
Outline of "solvable by radicals ⇒ solvable group". First adjoin enough roots of unity. This changes the Galois group only by passing to a subgroup and an abelian extension, and subgroups and quotients of solvable groups are solvable. Once contains the -th roots of unity, adjoining an -th root gives a Galois extension with abelian (indeed cyclic) group, since and is an injective homomorphism into the roots of unity. Making the radical tower Galois over and applying the fundamental theorem to it gives a chain of normal subgroups with abelian quotients, and the Galois group of is a quotient of the group of the tower. The converse uses Kummer theory: a cyclic extension of degree of a field containing the -th roots of unity is generated by an -th root. Full proofs: Stewart (2015), chapters 15–18; Dummit and Foote, §14.7. One direction is in Mathlib and is cited in the formal section.
Theorem— Proposition 12 (S₅ is not solvable)
For , is not solvable.
Proof
We show that if with abelian and containing every 3-cycle, then contains every 3-cycle. Then no chain from down to with abelian quotients can exist. Given a 3-cycle , choose distinct from (possible as ). Following each of the five points shows that with and (composing right to left). Since is abelian, every commutator of elements of lies in (Proposition 6 of quotients), so . Now in a chain with abelian quotients, induction down the chain shows that every contains all 3-cycles, so .
∎
Example— A quintic not solvable by radicals
Let . It is irreducible by Eisenstein's criterion at . Since vanishes only at , and , has exactly three real roots and a pair of complex conjugate roots. The Galois group acts transitively on the five roots (irreducibility), so , and by Cauchy's theorem contains a 5-cycle. Complex conjugation restricts to an element of that swaps the two non-real roots and fixes the three real ones: a transposition. A 5-cycle and a transposition generate , so . This is not solvable, so the roots of cannot be expressed by radicals. By contrast, is solvable by radicals: its roots are radicals, and its Galois group has order and is solvable.
The general quintic , with the independent indeterminates, has Galois group over . That is the Abel–Ruffini theorem: there is no formula in radicals for degree or more. It does not say that a particular quintic has non-radical roots — that depends on its Galois group.
Fields and Galois theory in Lean and Mathlib
Mathlib represents an extension by [Field K] [Field L] [Algebra K L]. The degree is Module.finrank K L, and IntermediateField K L is the lattice of intermediate fields. K⟮α⟯ denotes , and minpoly K α is the minimal polynomial. Gal(L/K) is notation for L ≃ₐ[K] L, the automorphisms over , and IsGalois K L is "normal and separable". GaloisField p n is the splitting field of over ZMod p.
The tower law, and the reason extensions can be treated as inclusions:
/-- **Tower law**: for fields `F ⊆ K ⊆ L`, `[L : F] = [L : K] · [K : F]`. If `(kᵢ)` is a basis
of `K` over `F` and `(lⱼ)` a basis of `L` over `K`, the products `kᵢ lⱼ` form a basis of `L`
over `F`. This is Mathlib's `Module.finrank_mul_finrank`. -/
theorem tower_law (F K L : Type*) [Field F] [Field K] [Field L] [Algebra F K] [Algebra K L]
[Algebra F L] [IsScalarTower F K L] :
finrank F K * finrank K L = finrank F L :=
Module.finrank_mul_finrank F K L/-- Every ring homomorphism from a field to a non-zero ring is injective. If `f x = 0` with
`x ≠ 0`, then `1 = f (x * x⁻¹) = f x * f x⁻¹ = 0`, impossible in a non-zero ring. So the kernel
is `0`, and `f a = f b` gives `f (a - b) = 0`, hence `a = b`. This is why a field extension
`K → L` can be viewed as an inclusion. -/
theorem field_hom_injective {K R : Type*} [Field K] [Ring R] [Nontrivial R] (f : K →+* R) :
Function.Injective f := by
have hker : ∀ x : K, f x = 0 → x = 0 := by
intro x hx
by_contra hx0
apply one_ne_zero (α := R)
calc (1 : R) = f (x * x⁻¹) := by rw [mul_inv_cancel₀ hx0, map_one]
_ = 0 := by rw [map_mul, hx, zero_mul]
intro a b hab
have := hker (a - b) (by rw [map_sub, hab, sub_self])
exact sub_eq_zero.mp this/-- `ℤ/p²ℤ` is **not** the field with `p²` elements — it is not a field at all: the class of `p`
is non-zero but `p · p = p² = 0`. If `p` had an inverse `b`, then `p = b · p · p = 0`. -/
theorem zmod_sq_not_field (p : ℕ) [hp : Fact p.Prime] : ¬ IsField (ZMod (p ^ 2)) := by
intro hF
have hp1 : 1 < p := hp.out.one_lt
have hpz : (p : ZMod (p ^ 2)) ≠ 0 := by
rw [Ne, ZMod.natCast_eq_zero_iff]
intro hd
have := Nat.le_of_dvd (by omega) hd
nlinarith
obtain ⟨b, hb⟩ := hF.mul_inv_cancel hpz
apply hpz
calc (p : ZMod (p ^ 2)) = (p * b) * p := by rw [hb, one_mul]
_ = b * ((p ^ 2 : ℕ) : ZMod (p ^ 2)) := by push_cast; ring
_ = 0 := by rw [ZMod.natCast_self, mul_zero]Minimal polynomials and degrees. The irreducibility proofs use "a polynomial of degree or is irreducible iff it has no root" and the irrationality of and , rather than the rational root test of Theorem 3:
/-- `X² − 2` is irreducible over `ℚ`: it has degree 2, so it could only factor with a linear
factor, i.e. a rational root `x` with `x² = 2` — but then `√2 = |x|` would be rational. -/
theorem sqrt_two_irreducible : Irreducible (X ^ 2 - C 2 : ℚ[X]) := by
apply Polynomial.irreducible_of_degree_le_three_of_not_isRoot
· have : (X ^ 2 - C 2 : ℚ[X]).natDegree = 2 := by compute_degree!
rw [this]
decide
· intro x hx
rw [IsRoot.def, eval_sub, eval_pow, eval_X, eval_C, sub_eq_zero] at hx
apply irrational_sqrt_two
refine ⟨|x|, ?_⟩
have h : ((x : ℝ)) ^ 2 = 2 := by exact_mod_cast hx
rw [Rat.cast_abs, ← Real.sqrt_sq_eq_abs, h]/-- `[ℚ(√2) : ℚ] = 2`. The minimal polynomial of `√2` over `ℚ` is `X² − 2` (monic, irreducible,
vanishing at `√2`), and the degree of a simple extension is the degree of the minimal polynomial
(Mathlib's `IntermediateField.adjoin.finrank`). -/
theorem finrank_sqrt_two : finrank ℚ ℚ⟮(Real.sqrt 2 : ℝ)⟯ = 2 := by
have hroot : aeval (Real.sqrt 2 : ℝ) (X ^ 2 - C 2 : ℚ[X]) = 0 := by
simp [Real.sq_sqrt (show (0 : ℝ) ≤ 2 by norm_num)]
have hmonic : (X ^ 2 - C 2 : ℚ[X]).Monic := by monicity!
have hmin : minpoly ℚ (Real.sqrt 2 : ℝ) = X ^ 2 - C 2 :=
(minpoly.eq_of_irreducible_of_monic sqrt_two_irreducible hroot hmonic).symm
have hint : IsIntegral ℚ (Real.sqrt 2 : ℝ) := ⟨_, hmonic, hroot⟩
rw [IntermediateField.adjoin.finrank hint, hmin]
compute_degree!/-- `X³ − 2` is irreducible over `ℚ`. A cubic factors only with a linear factor, i.e. a rational
root `x` with `x³ = 2`. As a real number `x` would be a cube root of `2` lying strictly between
`1` and `2`, so not an integer, and a non-integer root of an integer is irrational
(Mathlib's `irrational_nrt_of_notint_nrt`) — contradicting `x ∈ ℚ`. -/
theorem cube_two_irreducible : Irreducible (X ^ 3 - C 2 : ℚ[X]) := by
apply Polynomial.irreducible_of_degree_le_three_of_not_isRoot
· have : (X ^ 3 - C 2 : ℚ[X]).natDegree = 3 := by compute_degree!
rw [this]
decide
· intro x hx
rw [IsRoot.def, eval_sub, eval_pow, eval_X, eval_C, sub_eq_zero] at hx
have h : ((x : ℝ)) ^ 3 = ((2 : ℤ) : ℝ) := by exact_mod_cast hx
have hnotint : ∀ y : ℤ, (x : ℝ) ≠ y := by
intro y hy
have hy3 : y ^ 3 = 2 := by
have : ((y : ℝ)) ^ 3 = ((2 : ℤ) : ℝ) := by rw [← hy]; exact h
exact_mod_cast this
have h1 : y ≤ 1 ∨ 2 ≤ y := by omega
rcases h1 with h1 | h1
· have : y ^ 3 ≤ 1 := by
rcases le_or_gt 0 y with h0 | h0
· have : y = 0 ∨ y = 1 := by omega
rcases this with rfl | rfl <;> norm_num
· nlinarith [sq_nonneg y]
omega
· have : 8 ≤ y ^ 3 := by nlinarith [sq_nonneg y]
omega
exact irrational_nrt_of_notint_nrt 3 2 h (by rintro ⟨y, hy⟩; exact hnotint y hy)
(by norm_num) ⟨x, rfl⟩The algebraic half of Wantzel's theorem for doubling the cube. Any extension of of degree — in particular the field in the proof of Theorem 4 — contains no cube root of :
/-- **Why the cube cannot be doubled (the algebraic half).** No field extension `L` of `ℚ` of
degree `2ᵏ` contains a cube root `α` of `2`: the minimal polynomial of `α` is `X³ − 2`, so
`[ℚ(α) : ℚ] = 3`, and by the tower law `3` divides `[L : ℚ] = 2ᵏ` — impossible. Points
constructible with straightedge and compass lie in such extensions (proved in the lesson, not
here), so `∛2` is not constructible. -/
theorem no_cube_root_two {L : Type*} [Field L] [Algebra ℚ L] [FiniteDimensional ℚ L] (k : ℕ)
(hL : finrank ℚ L = 2 ^ k) (α : L) (hα : α ^ 3 = 2) : False := by
have hroot : aeval α (X ^ 3 - C 2 : ℚ[X]) = 0 := by simp [hα]
have hmonic : (X ^ 3 - C 2 : ℚ[X]).Monic := by monicity!
have hmin : minpoly ℚ α = X ^ 3 - C 2 :=
(minpoly.eq_of_irreducible_of_monic cube_two_irreducible hroot hmonic).symm
have hint : IsIntegral ℚ α := ⟨_, hmonic, hroot⟩
have hdeg : finrank ℚ ℚ⟮α⟯ = 3 := by
rw [IntermediateField.adjoin.finrank hint, hmin]
compute_degree!
have hdvd : finrank ℚ ℚ⟮α⟯ ∣ finrank ℚ L := by
rw [← tower_law ℚ ℚ⟮α⟯ L]
exact dvd_mul_right _ _
rw [hdeg, hL] at hdvd
have := Nat.prime_three.dvd_of_dvd_pow hdvd
omegaFinite fields (Theorem 6), from Mathlib:
/-- A finite field of characteristic `p` has `pⁿ` elements for some `n ≥ 1`: it is a vector
space of some dimension `n` over its prime field `𝔽_p`. Mathlib's `FiniteField.card`. -/
theorem finite_field_card (K : Type*) [Field K] [Fintype K] (p : ℕ) [CharP K p] :
∃ n : ℕ+, Nat.Prime p ∧ Fintype.card K = p ^ (n : ℕ) :=
FiniteField.card K p/-- In characteristic `p`, `(a + b)ᵖ = aᵖ + bᵖ`: the binomial coefficients `C(p, k)` with
`0 < k < p` are divisible by `p`. So `x ↦ xᵖ` (Frobenius) is a ring homomorphism.
Mathlib's `add_pow_char`. -/
theorem frobenius_add {K : Type*} [CommRing K] (p : ℕ) [Fact p.Prime] [CharP K p] (a b : K) :
(a + b) ^ p = a ^ p + b ^ p :=
add_pow_char a b p/-- **Existence**: for every prime `p` and `n ≥ 1` there is a field with `pⁿ` elements — the
splitting field of `X^(pⁿ) − X` over `𝔽_p`, whose roots are exactly its elements. Mathlib calls
it `GaloisField p n` and proves `GaloisField.card`. -/
theorem galois_field_card (p : ℕ) [Fact p.Prime] (n : ℕ) (h : n ≠ 0) :
Nat.card (GaloisField p n) = p ^ n :=
GaloisField.card p n h/-- **Uniqueness**: two finite fields with the same number of elements are isomorphic (both are
splitting fields of `X^q − X` over `𝔽_p`). Mathlib's `FiniteField.algEquivOfCardEq`. -/
theorem finite_field_unique (p : ℕ) [Fact p.Prime] (K K' : Type*) [Field K] [Field K']
[Fintype K] [Fintype K'] [Algebra (ZMod p) K] [Algebra (ZMod p) K']
(h : Fintype.card K = Fintype.card K') : Nonempty (K ≃ₐ[ZMod p] K') :=
⟨FiniteField.algEquivOfCardEq p h⟩/-- The multiplicative group of a finite field is cyclic. (More generally, any finite subgroup of
the units of an integral domain is cyclic: Mathlib's `isCyclic_of_subgroup_isDomain`.) -/
theorem units_cyclic (K : Type*) [Field K] [Finite K] : IsCyclic Kˣ :=
inferInstanceThe Galois correspondence. The order-reversing property and the Galois connection, and the inequality of Theorem 7 (via Mathlib's form of Dedekind's lemma), are proved here. Artin's theorem, Theorem 9(c) and the fundamental theorem are cited:
/-- Bigger subgroups fix smaller fields: if `H₁ ≤ H₂` then `E^{H₂} ⊆ E^{H₁}`, since an element
fixed by every automorphism in `H₂` is fixed by those in `H₁`. -/
theorem fixed_field_antitone {F E : Type*} [Field F] [Field E] [Algebra F E]
{H₁ H₂ : Subgroup Gal(E/F)} (h : H₁ ≤ H₂) : fixedField H₂ ≤ fixedField H₁ := by
intro x hx
rw [mem_fixedField_iff] at hx ⊢
exact fun σ hσ => hx σ (h hσ)/-- Bigger fields are fixed by smaller groups: if `K₁ ⊆ K₂` then `Gal(E/K₂) ≤ Gal(E/K₁)`. -/
theorem fixing_subgroup_antitone {F E : Type*} [Field F] [Field E] [Algebra F E]
{K₁ K₂ : IntermediateField F E} (h : K₁ ≤ K₂) : K₂.fixingSubgroup ≤ K₁.fixingSubgroup := by
intro σ hσ
rw [IntermediateField.mem_fixingSubgroup_iff] at hσ ⊢
exact fun x hx => hσ x (h hx)/-- The two maps form a **Galois connection**: `K ⊆ E^H` if and only if `H ≤ Gal(E/K)` — both say
"every element of `H` fixes every element of `K`". -/
theorem galois_connection {F E : Type*} [Field F] [Field E] [Algebra F E]
(K : IntermediateField F E) (H : Subgroup Gal(E/F)) :
K ≤ fixedField H ↔ H ≤ K.fixingSubgroup := by
constructor
· intro hK σ hσ
rw [IntermediateField.mem_fixingSubgroup_iff]
exact fun x hx => (mem_fixedField_iff H x).mp (hK hx) σ hσ
· intro hH x hx
rw [mem_fixedField_iff]
exact fun σ hσ => (IntermediateField.mem_fixingSubgroup_iff K σ).mp (hH hσ) x hx/-- `|Aut(E/F)| ≤ [E : F]` for a finite extension. Each automorphism is in particular an
`F`-algebra map `E → E`, and by Dedekind's independence of characters there are at most
`[E : F]` of those (Mathlib's `card_algHom_le_finrank`). -/
theorem card_aut_le_finrank (F E : Type*) [Field F] [Field E] [Algebra F E]
[FiniteDimensional F E] : Nat.card Gal(E/F) ≤ finrank F E := by
have hinj : Function.Injective (fun σ : Gal(E/F) => (σ : E →ₐ[F] E)) :=
fun σ τ h => AlgEquiv.coe_toAlgHom_injective h
have : Finite (E →ₐ[F] E) := inferInstance
exact (Nat.card_le_card_of_injective _ hinj).trans (card_algHom_le_finrank F E E)/-- **Artin's theorem**: for a finite group `H` of automorphisms of `E`, `[E : E^H] = |H|`.
Mathlib's `IntermediateField.finrank_fixedField_eq_card`. -/
theorem artin {F E : Type*} [Field F] [Field E] [Algebra F E] [FiniteDimensional F E]
(H : Subgroup Gal(E/F)) : finrank (fixedField H) E = Nat.card H :=
finrank_fixedField_eq_card H/-- For a finite Galois extension, `|Gal(E/F)| = [E : F]`. Mathlib's `IsGalois.card_aut_eq_finrank`. -/
theorem card_gal (F E : Type*) [Field F] [Field E] [Algebra F E] [FiniteDimensional F E]
[IsGalois F E] : Nat.card Gal(E/F) = finrank F E :=
IsGalois.card_aut_eq_finrank F E/-- **Fundamental theorem of Galois theory**: for a finite Galois extension `E/F`, `K ↦ Gal(E/K)`
is an inclusion-*reversing* bijection from intermediate fields to subgroups of `Gal(E/F)` (an
order isomorphism onto the order dual), with inverse `H ↦ E^H`.
Mathlib's `IsGalois.intermediateFieldEquivSubgroup`. -/
theorem fundamental_theorem (F E : Type*) [Field F] [Field E] [Algebra F E]
[FiniteDimensional F E] [IsGalois F E] :
Nonempty (IntermediateField F E ≃o (Subgroup Gal(E/F))ᵒᵈ) :=
⟨IsGalois.intermediateFieldEquivSubgroup⟩Solvability by radicals: the direction of Theorem 11 that matters for Abel–Ruffini, and Proposition 12 for :
/-- **Abel–Ruffini, the Galois-theoretic direction**: if an irreducible polynomial `q` over `F`
has a root expressible by radicals, then its Galois group is solvable. Mathlib's
`isSolvable_gal_of_irreducible` (in characteristic zero, which the class `solvableByRad`
handles through its definition). -/
theorem solvable_of_radical_root {F E : Type*} [Field F] [Field E] [Algebra F E] {x : E}
(hx : x ∈ solvableByRad F E) {q : F[X]} (hq : Irreducible q) (hroot : aeval x q = 0) :
Group.IsSolvable q.Gal :=
isSolvable_gal_of_irreducible hx hq hroot/-- `S₅` is not solvable: its commutator subgroup `A₅` is its own commutator subgroup, so the
derived series never reaches `1`. Mathlib's `Equiv.Perm.not_isSolvable_fin_5`. -/
theorem s5_not_solvable : ¬ Group.IsSolvable (Equiv.Perm (Fin 5)) :=
Equiv.Perm.not_isSolvable_fin_5What is and is not formalised. Proved independently here: injectivity of field homomorphisms, is not a field, the irreducibility of and over , , the impossibility of a cube root of in a -power extension, the antitone maps and Galois connection, and . Cited from Mathlib: the tower law, Theorem 6(1–4), Artin's theorem, , the fundamental theorem, one direction of Theorem 11 and the non-solvability of . Not formalised: the geometric half of Theorem 4 (Mathlib has no notion of straightedge-and-compass constructibility), the trisection and heptagon cases, Theorem 10(3), and the computation that has Galois group . Mathlib's Polynomial.Gal.galActionHom_bijective_of_prime_degree' contains the essential step, and combining it with the results above into a Lean proof that this polynomial is not solvable by radicals would be a good project.
Counting irreducibles and watching Frobenius
The first program sieves out the reducible monic polynomials over , and , counts the irreducible ones, and compares with Gauss's formula and with the identity .
"""Counting irreducible polynomials over F_p: brute force against Gauss's formula.
Every element of the field with p^n elements is a root of X^(p^n) - X, and
that polynomial is the product of all monic irreducible polynomials over F_p
whose degree divides n. Comparing degrees gives p^n = sum over d | n of
d * N(d), where N(d) is the number of monic irreducibles of degree d, and
Mobius inversion gives Gauss's formula N(n) = (1/n) sum_{d | n} mu(d) p^(n/d).
The program sieves out reducible polynomials by multiplying all pairs of lower
degree, counts what is left, and compares with the formula. Exact and
exhaustive for the (p, n) shown.
"""
from itertools import product
def poly_mul(a, b, p):
"""Product of coefficient tuples (lowest degree first) over F_p."""
out = [0] * (len(a) + len(b) - 1)
for i, x in enumerate(a):
if x:
for j, y in enumerate(b):
out[i + j] = (out[i + j] + x * y) % p
return tuple(out)
def monic(p, d):
"""All monic polynomials of degree d over F_p."""
return [tuple(c) + (1,) for c in product(range(p), repeat=d)]
def irreducibles(p, n):
"""Monic irreducible polynomials of degree n, by sieving out products."""
reducible = set()
for d in range(1, n // 2 + 1):
for f in monic(p, d):
for g in monic(p, n - d):
reducible.add(poly_mul(f, g, p))
return [f for f in monic(p, n) if f not in reducible]
def mobius(n):
"""The Mobius function by trial division."""
result, m, q = 1, n, 2
while q * q <= m:
if m % q == 0:
m //= q
if m % q == 0:
return 0
result = -result
q += 1
return -result if m > 1 else result
def gauss_count(p, n):
"""(1/n) * sum over d | n of mu(d) p^(n/d)."""
total = sum(mobius(d) * p ** (n // d) for d in range(1, n + 1) if n % d == 0)
return total // n
def show(f):
"""Monic polynomial as text, highest degree first, e.g. x^3+x+1."""
terms = []
for k in range(len(f) - 1, -1, -1):
c = f[k]
if c:
mono = "" if k == 0 else ("x" if k == 1 else f"x^{k}")
terms.append((str(c) if c != 1 or k == 0 else "") + mono)
return "+".join(terms)
def main():
print(" p n irreducibles (sieve) Gauss's formula sum d*N(d) = p^n")
ok = True
for p, top in ((2, 8), (3, 5), (5, 3)):
counts = {}
for n in range(1, top + 1):
counts[n] = len(irreducibles(p, n))
formula = gauss_count(p, n)
degree_sum = sum(d * counts[d] for d in counts if n % d == 0)
ok &= counts[n] == formula and degree_sum == p ** n
print(f"{p:>2} {n:>2} {counts[n]:>20} {formula:>15} "
f"{degree_sum:>6} = {p ** n}")
print(f"All counts agree: {ok}")
print("The irreducible cubics over F_2:",
", ".join(show(f) for f in irreducibles(2, 3)))
print("Irreducible quadratics over F_3:",
", ".join(show(f) for f in irreducibles(3, 2)))
print()
print("Epistemic status: exact, exhaustive counts for these p and n. The")
print("formula holds for every prime power, as proved in the lesson from")
print("the factorisation of X^(p^n) - X; the table is a check, not a proof.")
if __name__ == "__main__":
main()The counts are exact and exhaustive, and the formula is a theorem; the table is a consistency check. Notice : roughly one polynomial in is irreducible, a "prime number theorem" for polynomials over finite fields.
The second program connects the two halves of the lesson. Reducing an integer polynomial modulo a prime (not dividing its discriminant) gives a Frobenius element in its Galois group, and the degrees of the irreducible factors mod are the cycle lengths of that element acting on the roots. The program factors four polynomials modulo all suitable primes below and compares the frequencies of each factorisation pattern with the proportion of group elements of that cycle type.
"""Seeing a Galois group by factoring modulo primes (Chebotarev statistics).
For a monic integer polynomial f of degree n and a prime p not dividing its
discriminant, f factors modulo p into irreducibles whose degrees form the cycle
type of a Frobenius element of Gal(f), acting on the n roots. Chebotarev's
density theorem says each cycle type occurs for a proportion of primes equal to
the proportion of Galois-group elements with that cycle type. The program
factors x^2 - 2, x^3 - 2, x^4 + 1 and x^5 - 4x + 2 modulo every suitable prime
below 2000 (distinct-degree factorisation) and compares the frequencies with
the predictions for the groups Z/2, S3, Z/2 x Z/2 and S5.
"""
from collections import Counter
from fractions import Fraction
def trim(a):
"""Drop leading zero coefficients (lists are lowest degree first)."""
a = list(a)
while a and a[-1] == 0:
a.pop()
return a
def pmod(a, m, p):
"""Remainder of a modulo m over F_p (m non-zero)."""
a, m = trim(a), trim(m)
inv = pow(m[-1], p - 2, p)
while len(a) >= len(m):
c = a[-1] * inv % p
shift = len(a) - len(m)
for i, x in enumerate(m):
a[shift + i] = (a[shift + i] - c * x) % p
a = trim(a)
return a
def pmulmod(a, b, m, p):
"""a * b modulo m over F_p."""
out = [0] * (len(a) + len(b) - 1) if a and b else []
for i, x in enumerate(a):
if x:
for j, y in enumerate(b):
out[i + j] = (out[i + j] + x * y) % p
return pmod(out, m, p)
def ppowmod(base, e, m, p):
"""base^e modulo m over F_p, by repeated squaring."""
result, base = [1], pmod(base, m, p)
while e:
if e & 1:
result = pmulmod(result, base, m, p)
base = pmulmod(base, base, m, p)
e >>= 1
return result
def pgcd(a, b, p):
"""Monic gcd over F_p."""
a, b = trim(a), trim(b)
while b:
a, b = b, pmod(a, b, p)
if not a:
return a
inv = pow(a[-1], p - 2, p)
return [x * inv % p for x in a]
def derivative(f):
"""Formal derivative of an integer polynomial."""
return [k * c for k, c in enumerate(f)][1:]
def factor_degrees(f, p):
"""Degrees of the irreducible factors of f mod p (f squarefree mod p),
by distinct-degree factorisation."""
g = [c % p for c in f]
degrees, k, xpk = [], 0, [0, 1]
while len(trim(g)) - 1 >= 2 * (k + 1):
k += 1
xpk = ppowmod(xpk, p, g, p) # x^(p^k) mod g
diff = trim([(c - (1 if i == 1 else 0)) % p
for i, c in enumerate(xpk + [0] * (2 - len(xpk)))])
h = pgcd(g, diff, p)
if len(h) > 1:
degrees += [k] * ((len(h) - 1) // k)
g = pdiv(g, h, p)
if len(trim(g)) > 1:
degrees.append(len(trim(g)) - 1)
return tuple(sorted(degrees))
def pdiv(a, b, p):
"""Exact quotient a / b over F_p."""
a, b = trim(a), trim(b)
q = [0] * (len(a) - len(b) + 1)
inv = pow(b[-1], p - 2, p)
while len(a) >= len(b) and a:
c = a[-1] * inv % p
shift = len(a) - len(b)
q[shift] = c
for i, x in enumerate(b):
a[shift + i] = (a[shift + i] - c * x) % p
a = trim(a)
return q
def primes_below(n):
"""Sieve of Eratosthenes."""
sieve = [True] * n
sieve[0:2] = [False, False]
for i in range(2, int(n ** 0.5) + 1):
if sieve[i]:
sieve[i * i::i] = [False] * len(sieve[i * i::i])
return [i for i, s in enumerate(sieve) if s]
def is_squarefree_mod(f, p):
"""f mod p has no repeated factor (so p does not divide the discriminant)."""
return len(pgcd([c % p for c in f], [c % p for c in derivative(f)], p)) == 1
#: polynomial (lowest degree first), Galois group, predicted cycle-type shares
EXAMPLES = [
("x^2-2", [-2, 0, 1], "Z/2", {(1, 1): Fraction(1, 2), (2,): Fraction(1, 2)}),
("x^3-2", [-2, 0, 0, 1], "S3",
{(1, 1, 1): Fraction(1, 6), (1, 2): Fraction(1, 2), (3,): Fraction(1, 3)}),
("x^4+1", [1, 0, 0, 0, 1], "Z/2 x Z/2",
{(1, 1, 1, 1): Fraction(1, 4), (2, 2): Fraction(3, 4)}),
("x^5-4x+2", [2, -4, 0, 0, 0, 1], "S5",
{(1, 1, 1, 1, 1): Fraction(1, 120), (1, 1, 1, 2): Fraction(10, 120),
(1, 2, 2): Fraction(15, 120), (1, 1, 3): Fraction(20, 120),
(2, 3): Fraction(20, 120), (1, 4): Fraction(30, 120),
(5,): Fraction(24, 120)}),
]
def tally(f, bound):
"""Counter of factorisation patterns over primes below bound."""
return Counter(factor_degrees(f, p) for p in primes_below(bound)
if is_squarefree_mod(f, p))
def main():
bound = 2000
for name, f, group, predicted in EXAMPLES:
counts = tally(f, bound)
total = sum(counts.values())
print(f"{name} (Galois group {group}), {total} primes below {bound}")
parts = []
for pattern in sorted(predicted, key=lambda t: (len(t), t), reverse=True):
seen = counts.get(pattern, 0) / total
parts.append(f"{'+'.join(map(str, pattern))}: "
f"{seen:.3f}/{float(predicted[pattern]):.3f}")
for i in range(0, len(parts), 3):
print(" " + " ".join(parts[i:i + 3]))
unexpected = set(counts) - set(predicted)
print(f" patterns outside the prediction: {sorted(unexpected) or 'none'}")
print("(each entry: degrees of the factors mod p: observed/predicted share)")
print()
print("Epistemic status: every factorisation is exact. The match between")
print("frequencies and group proportions is statistical evidence for these")
print("Galois groups; Chebotarev's theorem (1922) guarantees the limits, but")
print("finitely many primes can never prove what the Galois group is.")
if __name__ == "__main__":
main()Each factorisation is exact; the agreement of frequencies is statistical evidence, guaranteed in the limit by the Chebotarev density theorem (conjectured by Frobenius, proved by Nikolai Chebotarev in 1922). Two things stand out. is irreducible over but never irreducible modulo a prime, because its Galois group contains no 4-cycle. And for all seven cycle types of appear, including 5-cycles and transpositions, which is consistent with . Statistics alone can never prove what a Galois group is, but they are how computer algebra systems first guess it.
Explore: roots of unity
The -th roots of unity form a regular -gon, and the cyclotomic field is generated by them. Its Galois group permutes them by for coprime to . Change and count the primitive roots, the ones that are not roots of unity of smaller order: there are of them, and that is . For , the real part lies in a quadratic field, so the pentagon is constructible. For , has degree , and the heptagon is not.
Roots of unity and cyclotomic fields
The 7th roots of unity: their real parts generate a cubic field, which is why the regular heptagon cannot be constructed.
Drag the points, or focus one with Tab and use the arrow keys (hold Shift for small steps).
Solutions of wⁿ = c for n = 7:
- w₀ = 1
- w₁ = 0.623 + 0.782i
- w₂ = −0.223 + 0.975i
- w₃ = −0.901 + 0.434i
- w₄ = −0.901 − 0.434i
- w₅ = −0.223 − 0.975i
- w₆ = 0.623 − 0.782i
All roots lie on the circle of radius |c|^(1/n) ≈ 1.
Neighbouring roots are 51.43° apart: 360° ÷ 7.
w₀ is the principal root, at the angle (arg c)/n; the others follow by equal turns.
Because c = 1, these are the roots of unity of order 7.
The roots add up to 0, so the regular polygon is balanced around the origin.
Exercises
1. Fields and Galois theory
Warm-upHumanWhat is the degree ?
2. Fields and Galois theory
CoreHumanWhat is the minimal polynomial of over ?
3. Fields and Galois theory
CoreHumanStarting from the points and , which of these real numbers can be constructed with straightedge and compass? (Select all that apply.)
4. Fields and Galois theory
CoreHuman, where sends and fixes , and fixes and sends . Which field is the fixed field of the subgroup ?
5. Fields and Galois theory
CoreHumanHow many subfields does the field (with elements) have, including and itself?
6. Fields and Galois theory
StretchHumanLet be the splitting field of over . What is the order of ?
7. Fields and Galois theory
CoreHumanWhich statement correctly describes the Abel–Ruffini theorem and its Galois-theoretic refinement?
8. Fields and Galois theory
Warm-upHumanWhich statement about rings with four elements is correct?
9. Fields and Galois theory
CoreFormalFor fields F, K, L with [Algebra F K] [Algebra K L] [Algebra F L] [IsScalarTower F K L], which Lean statement is the tower law?
10. Fields and Galois theory
StretchComputationalWrite count_irreducible(p, n) returning the number of monic irreducible polynomials of degree over , using Gauss's formula . You will need the Möbius function : if has a square factor, otherwise where is the number of prime factors of .
Common misconceptions
Misconception
"Abel–Ruffini says no quintic can be solved by radicals." It says there is no general formula. Particular quintics can be solvable: has root , and has a solvable Galois group of order . Galois's criterion decides each polynomial individually: solvable by radicals iff the Galois group is solvable.
Misconception
" is the field with elements." has the nilpotent element (), so it is not even a domain. The field has characteristic and is for an irreducible quadratic — for example .
Misconception
"The Galois group of a polynomial of degree is ." It is a subgroup of , often much smaller. has Galois group of order , not ; has the cyclic group . "Generic" polynomials have group , but special ones are the interesting ones.
Misconception
"Every finite extension is Galois." has degree but only the identity automorphism, because the other two roots of are not real. Galois extensions are exactly those with as many automorphisms as their degree.
Misconception
"Degrees of composite extensions multiply." , with equality only in good cases (for example coprime degrees). has degree , not , and has degree , not .
Misconception
"Galois theory proves that the circle cannot be squared." The tower-law argument shows that constructible numbers are algebraic of degree a power of . To rule out one needs Lindemann's theorem that is transcendental, proved by analysis (1882), not by Galois theory.
Many ways of seeing
Topology— Galois theory is covering space theory
For a connected, locally path-connected space , connected coverings correspond to subgroups of , normal subgroups give regular (Galois) coverings, and the deck group of a regular covering is (see the fundamental group). This is the same correspondence, and the analogy can be made exact. Let , and consider the field with a polynomial . Its roots form a covering of , and the Galois group of over equals the monodromy group: the permutations of the roots obtained by following them around loops in . For , a loop around cycles the three cube roots. Grothendieck unified both pictures in the étale fundamental group. For a field it is the absolute Galois group , a profinite group with the Krull topology, in which the infinite Galois correspondence matches closed subgroups with intermediate fields.
Geometry— Symmetry of roots and of figures
The Galois group of is the dihedral group , acting on the four roots exactly as the symmetries of the square they form in . This is a coincidence of the example, not a general rule: the Galois group need not preserve the geometry of the roots. Constructions with straightedge and compass are the geometric shadow of towers of quadratic extensions (Theorem 4). Felix Klein's Lectures on the Icosahedron (1884) connected the quintic to the rotation group of the icosahedron, which is : the general quintic can be reduced to an equation whose Galois group is that symmetry group, and solved with elliptic modular functions (Hermite, Kronecker, 1858). Galois theory and geometry meet again in algebraic geometry, where function fields of curves are finite extensions of .
Number theory— Frobenius elements, Chebotarev and Kronecker–Weber
For a Galois extension and a prime not dividing its discriminant, the Frobenius automorphism of the finite residue fields lifts to a well-defined conjugacy class . The Chebotarev density theorem says every conjugacy class occurs for a proportion of primes, which the second experiment illustrates. For abelian extensions everything is explicit. The Kronecker–Weber theorem says every abelian extension of lies in a cyclotomic field , and there is . Quadratic reciprocity follows: (see number theory). Describing non-abelian Galois groups of through Frobenius elements is one of the aims of the Langlands programme. The inverse Galois problem — is every finite group a Galois group over ? — remains open. It is known for all solvable groups (Igor Shafarevich, 1954) and for many simple ones.
Category theory— A Galois connection is an adjunction
Order intermediate fields by inclusion and subgroups by reverse inclusion. Then and satisfy , which is proved in Lean above. This makes them a Galois connection, which is an adjunction between posets regarded as categories (adjunctions). Every Galois connection restricts to a bijection between its "closed" elements; the fundamental theorem says that for a Galois extension every element is closed. Grothendieck's reformulation is an equivalence of categories: for a field , finite étale -algebras (finite products of finite separable extensions) correspond contravariantly to finite sets with a continuous action of . Fields correspond to transitive actions, and subgroups appear as stabilisers.
Computation— Computing Galois groups
Galois groups can be computed. Factoring modulo many primes (the second experiment) reveals which cycle types occur, which often pins the group down. Resolvent polynomials and Stauduhar's method (1973) then certify the answer with exact arithmetic. Computer algebra systems compute Galois groups of polynomials of moderate degree routinely. Finite fields are the engine of modern computation. Reed–Solomon codes on CDs, QR codes and spacecraft links compute in , and the AES cipher is built on . Factoring polynomials over (Berlekamp, 1967; Cantor–Zassenhaus, 1981) is fast. The experiment's distinct-degree factorisation is the first step of these algorithms.
Wonder Trails
Finite fields grow out of clock arithmetic. This optional trail starts there.
Wonder Trail · Optional · never gradedClock arithmeticIt's 9 o'clock. What time will it be in 5 hours — and in 29 hours? Can a clock teach us a whole new kind of arithmetic?Follow the trailHistory and global context
- Solving equations. Old Babylonian tablets (c. 1800 BCE) solve quadratic problems. Al-Khwārizmī's al-Jabr (c. 820) classified and solved quadratics. ʿUmar al-Khayyām (c. 1070) solved cubics geometrically by intersecting conics, and Sharaf al-Dīn al-Ṭūsī (12th century) analysed the number of positive roots. In Italy, del Ferro and Tartaglia found the cubic formula, Cardano published it in Ars Magna (1545) together with Ferrari's solution of the quartic, and Rafael Bombelli (1572) showed how complex numbers make the formula work even when all roots are real.
- Towards Galois. Joseph-Louis Lagrange (1770–71) explained the known formulas by permutations of roots and resolvents. Gauss (1796, 1801) solved the cyclotomic equations by radicals and found the 17-gon. Ruffini (1799) and Abel (1824) proved the unsolvability of the general quintic. Évariste Galois (1830–32) gave the criterion in terms of groups. His memoir was rejected by the Paris Academy, he died after a duel in 1832, and Joseph Liouville published his work in 1846.
- Constructions. Pierre Wantzel (1837) proved the impossibility of doubling the cube and trisecting the angle, and characterised constructible regular polygons. Ferdinand von Lindemann (1882) proved transcendental, settling the squaring of the circle.
- The modern theory. Camille Jordan's Traité des substitutions (1870) presented Galois's theory systematically. Richard Dedekind and Leopold Kronecker recast it in terms of fields. Emil Artin's Galois Theory (1942) introduced the linear-algebra approach used here (Dedekind's lemma, Artin's theorem). Wolfgang Krull (1928) extended it to infinite extensions with a topology on the Galois group, and Alexander Grothendieck (SGA 1, 1960–61) unified it with covering spaces.
- Finite fields. Galois himself introduced the fields ("imaginaires de Galois") in 1830, and E. H. Moore (1893) proved that every finite field is one of them. Gauss had earlier counted irreducible polynomials modulo in unpublished work.
Further reading
- Ian Stewart, Galois Theory (4th edition, 2015) — history, constructions, and the full theory at this level.
- Emil Artin, Galois Theory (1942; Dover reprint) — the classic short account via linear algebra.
- David S. Dummit and Richard M. Foote, Abstract Algebra (3rd edition, 2004), chapters 13–14.
- Harold M. Edwards, Galois Theory (1984) — follows Galois's own memoir.
- Rudolf Lidl and Harald Niederreiter, Introduction to Finite Fields and their Applications (revised edition, 1994).
- Jürgen Neukirch, Algebraic Number Theory (1999), chapter I — Frobenius elements and Chebotarev, for going further.