Galois Extensions #
In this file we define Galois extensions as extensions which are both separable and normal.
Main definitions #
IsGalois F E
whereE
is an extension ofF
fixedField H
whereH : Subgroup (E ≃ₐ[F] E)
fixingSubgroup K
whereK : IntermediateField F E
intermediateFieldEquivSubgroup
whereE/F
is finite dimensional and Galois
Main results #
IntermediateField.fixingSubgroup_fixedField
: IfE/F
is finite dimensional (but not necessarily Galois) thenfixingSubgroup (fixedField H) = H
IntermediateField.fixedField_fixingSubgroup
: IfE/F
is finite dimensional and Galois thenfixedField (fixingSubgroup K) = K
Together, these two results prove the Galois correspondence.
IsGalois.tfae
: Equivalent characterizations of a Galois extension of finite degree
A field extension E/F is Galois if it is both separable and normal. Note that in mathlib a separable extension of fields is by definition algebraic.
- to_isSeparable : Algebra.IsSeparable F E
- to_normal : Normal F E
Instances
theorem
IsGalois.integral
(F : Type u_1)
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
[IsGalois F E]
(x : E)
:
IsIntegral F x
theorem
IsGalois.separable
(F : Type u_1)
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
[IsGalois F E]
(x : E)
:
IsSeparable F x
theorem
IsGalois.splits
(F : Type u_1)
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
[IsGalois F E]
(x : E)
:
Polynomial.Splits (algebraMap F E) (minpoly F x)
instance
IsGalois.of_fixed_field
(E : Type u_2)
[Field E]
(G : Type u_3)
[Group G]
[Finite G]
[MulSemiringAction G E]
:
IsGalois (↥(FixedPoints.subfield G E)) E
Equations
- ⋯ = ⋯
theorem
IsGalois.IntermediateField.AdjoinSimple.card_aut_eq_finrank
(F : Type u_1)
[Field F]
(E : Type u_2)
[Field E]
[Algebra F E]
[FiniteDimensional F E]
{α : E}
(hα : IsIntegral F α)
(h_sep : IsSeparable F α)
(h_splits : Polynomial.Splits (algebraMap F ↥F⟮α⟯) (minpoly F α))
:
Fintype.card (↥F⟮α⟯ ≃ₐ[F] ↥F⟮α⟯) = FiniteDimensional.finrank F ↥F⟮α⟯
theorem
IsGalois.card_aut_eq_finrank
(F : Type u_1)
[Field F]
(E : Type u_2)
[Field E]
[Algebra F E]
[FiniteDimensional F E]
[IsGalois F E]
:
Fintype.card (E ≃ₐ[F] E) = FiniteDimensional.finrank F E
def
FixedPoints.intermediateField
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(M : Type u_3)
[Monoid M]
[MulSemiringAction M E]
[SMulCommClass M F E]
:
The intermediate field of fixed points fixed by a monoid action that commutes with the
F
-action on E
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
IntermediateField.finrank_fixedField_eq_card
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(H : Subgroup (E ≃ₐ[F] E))
[FiniteDimensional F E]
[DecidablePred fun (x : E ≃ₐ[F] E) => x ∈ H]
:
def
IntermediateField.fixingSubgroup
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
The subgroup fixing an intermediate field
Equations
- K.fixingSubgroup = fixingSubgroup (E ≃ₐ[F] E) ↑K
Instances For
theorem
IntermediateField.le_iff_le
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(H : Subgroup (E ≃ₐ[F] E))
(K : IntermediateField F E)
:
K ≤ IntermediateField.fixedField H ↔ H ≤ K.fixingSubgroup
def
IntermediateField.fixingSubgroupEquiv
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
The fixing subgroup of K : IntermediateField F E
is isomorphic to E ≃ₐ[K] E
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
IntermediateField.fixingSubgroup_fixedField
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(H : Subgroup (E ≃ₐ[F] E))
[FiniteDimensional F E]
:
(IntermediateField.fixedField H).fixingSubgroup = H
instance
IntermediateField.fixedField.smul
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
SMul ↥K ↥(IntermediateField.fixedField K.fixingSubgroup)
Equations
- IntermediateField.fixedField.smul K = { smul := fun (x : ↥K) (y : ↥(IntermediateField.fixedField K.fixingSubgroup)) => ⟨↑x * ↑y, ⋯⟩ }
instance
IntermediateField.fixedField.algebra
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
Algebra ↥K ↥(IntermediateField.fixedField K.fixingSubgroup)
Equations
- IntermediateField.fixedField.algebra K = Algebra.mk { toFun := fun (x : ↥K) => ⟨↑x, ⋯⟩, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ } ⋯ ⋯
instance
IntermediateField.fixedField.isScalarTower
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
IsScalarTower (↥K) (↥(IntermediateField.fixedField K.fixingSubgroup)) E
Equations
- ⋯ = ⋯
theorem
IsGalois.fixedField_fixingSubgroup
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
[FiniteDimensional F E]
[h : IsGalois F E]
:
IntermediateField.fixedField K.fixingSubgroup = K
theorem
IsGalois.card_fixingSubgroup_eq_finrank
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
[DecidablePred fun (x : E ≃ₐ[F] E) => x ∈ K.fixingSubgroup]
[FiniteDimensional F E]
[IsGalois F E]
:
Fintype.card ↥K.fixingSubgroup = FiniteDimensional.finrank (↥K) E
def
IsGalois.intermediateFieldEquivSubgroup
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
[FiniteDimensional F E]
[IsGalois F E]
:
The Galois correspondence from intermediate fields to subgroups
Equations
- IsGalois.intermediateFieldEquivSubgroup = { toFun := IntermediateField.fixingSubgroup, invFun := IntermediateField.fixedField, left_inv := ⋯, right_inv := ⋯, map_rel_iff' := ⋯ }
Instances For
def
IsGalois.galoisInsertionIntermediateFieldSubgroup
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
[FiniteDimensional F E]
:
GaloisInsertion (⇑OrderDual.toDual ∘ IntermediateField.fixingSubgroup)
(IntermediateField.fixedField ∘ ⇑OrderDual.toDual)
The Galois correspondence as a GaloisInsertion
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
IsGalois.galoisCoinsertionIntermediateFieldSubgroup
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
[FiniteDimensional F E]
[IsGalois F E]
:
GaloisCoinsertion (⇑OrderDual.toDual ∘ IntermediateField.fixingSubgroup)
(IntermediateField.fixedField ∘ ⇑OrderDual.toDual)
The Galois correspondence as a GaloisCoinsertion
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
IsGalois.is_separable_splitting_field
(F : Type u_1)
[Field F]
(E : Type u_2)
[Field E]
[Algebra F E]
[FiniteDimensional F E]
[IsGalois F E]
:
∃ (p : Polynomial F), p.Separable ∧ Polynomial.IsSplittingField F E p
theorem
IsGalois.of_fixedField_eq_bot
(F : Type u_1)
[Field F]
(E : Type u_2)
[Field E]
[Algebra F E]
[FiniteDimensional F E]
(h : IntermediateField.fixedField ⊤ = ⊥)
:
IsGalois F E
theorem
IsGalois.of_card_aut_eq_finrank
(F : Type u_1)
[Field F]
(E : Type u_2)
[Field E]
[Algebra F E]
[FiniteDimensional F E]
(h : Fintype.card (E ≃ₐ[F] E) = FiniteDimensional.finrank F E)
:
IsGalois F E
theorem
IsGalois.of_separable_splitting_field_aux
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
{p : Polynomial F}
[hFE : FiniteDimensional F E]
[sp : Polynomial.IsSplittingField F E p]
(hp : p.Separable)
(K : Type u_3)
[Field K]
[Algebra F K]
[Algebra K E]
[IsScalarTower F K E]
{x : E}
(hx : x ∈ p.aroots E)
[Fintype (K →ₐ[F] E)]
[Fintype (↥(IntermediateField.restrictScalars F K⟮x⟯) →ₐ[F] E)]
:
Fintype.card (↥(IntermediateField.restrictScalars F K⟮x⟯) →ₐ[F] E) = Fintype.card (K →ₐ[F] E) * FiniteDimensional.finrank K ↥K⟮x⟯
theorem
IsGalois.of_separable_splitting_field
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
{p : Polynomial F}
[sp : Polynomial.IsSplittingField F E p]
(hp : p.Separable)
:
IsGalois F E
theorem
IsGalois.tfae
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
[FiniteDimensional F E]
:
[IsGalois F E, IntermediateField.fixedField ⊤ = ⊥, Fintype.card (E ≃ₐ[F] E) = FiniteDimensional.finrank F E,
∃ (p : Polynomial F), p.Separable ∧ Polynomial.IsSplittingField F E p].TFAE
Equivalent characterizations of a Galois extension of finite degree