Algebraic Closure #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
In this file we construct the algebraic closure of a field
Main Definitions #
algebraic_closure k
is an algebraic closure ofk
(in the same universe). It is constructed by taking the polynomial ring generated by indeterminatesx_f
corresponding to monic irreducible polynomialsf
with coefficients ink
, and quotienting out by a maximal ideal containing everyf(x_f)
, and then repeating this step countably many times. See Exercise 1.13 in Atiyah--Macdonald.
Tags #
algebraic closure, algebraically closed
The subtype of monic irreducible polynomials
Equations
- algebraic_closure.monic_irreducible k = {f // f.monic ∧ irreducible f}
Sends a monic irreducible polynomial f
to f(x_f)
where x_f
is a formal indeterminate.
Equations
The span of f(x_f)
across monic irreducible polynomials f
where x_f
is an
indeterminate.
Equations
Given a finset of monic irreducible polynomials, construct an algebra homomorphism to the
splitting field of the product of the polynomials sending each indeterminate x_f
represented by
the polynomial f
in the finset to a root of f
.
Equations
- algebraic_closure.to_splitting_field k s = mv_polynomial.aeval (λ (f : algebraic_closure.monic_irreducible k), dite (f ∈ s) (λ (hf : f ∈ s), polynomial.root_of_splits (algebra_map k (s.prod (λ (x : algebraic_closure.monic_irreducible k), ↑x)).splitting_field) _ _) (λ (hf : f ∉ s), 37))
A random maximal ideal that contains span_eval k
Equations
Instances for algebraic_closure.max_ideal
The first step of constructing algebraic_closure
: adjoin a root of all monic polynomials
Equations
Instances for algebraic_closure.adjoin_monic
Equations
The canonical ring homomorphism to adjoin_monic k
.
The n
th step of constructing algebraic_closure
, together with its field
instance.
Equations
- algebraic_closure.step_aux k n = n.rec_on ⟨k, infer_instance _inst_1⟩ (λ (n : ℕ) (ih : Σ (α : Type u), field α), ⟨algebraic_closure.adjoin_monic ih.fst ih.snd, algebraic_closure.adjoin_monic.field ih.fst ih.snd⟩)
The n
th step of constructing algebraic_closure
.
Equations
- algebraic_closure.step k n = (algebraic_closure.step_aux k n).fst
Equations
Equations
- algebraic_closure.step.inhabited k n = {default := 37}
The canonical inclusion to the 0
th step.
Equations
The canonical ring homomorphism to the next step.
Equations
Equations
The canonical ring homomorphism to a step with a greater index.
Equations
- algebraic_closure.to_step_of_le k m n h = {to_fun := nat.le_rec_on h (λ (n : ℕ), ⇑(algebraic_closure.to_step_succ k n)), map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}
Equations
The canonical algebraic closure of a field, the direct limit of adding roots to the field for each polynomial over the field.
Equations
- algebraic_closure k = ring.direct_limit (algebraic_closure.step k) (λ (i j : ℕ) (h : i ≤ j), ⇑(algebraic_closure.to_step_of_le k i j h))
Equations
- algebraic_closure.field k = field.direct_limit.field (algebraic_closure.step k) (λ (i j : ℕ) (h : i ≤ j), algebraic_closure.to_step_of_le k i j h)
Equations
- algebraic_closure.inhabited k = {default := 37}
The canonical ring embedding from the n
th step to the algebraic closure.
Equations
- algebraic_closure.of_step k n = ring.direct_limit.of (algebraic_closure.step k) (λ (i j : ℕ) (h : i ≤ j), ⇑(algebraic_closure.to_step_of_le k i j h)) n
Equations
Equations
- algebraic_closure.algebra k = ((algebraic_closure.of_step k 0).comp (algebra_map R k)).to_algebra
Canonical algebra embedding from the n
th step to the algebraic closure.