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 : 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)
:
Polynomial.Separable (minpoly 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
- (_ : IsGalois (↥(FixedPoints.subfield G E)) E) = (_ : IsGalois (↥(FixedPoints.subfield G E)) E)
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 : Polynomial.Separable (minpoly 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
- IntermediateField.fixingSubgroup K = 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)
:
def
IntermediateField.fixingSubgroupEquiv
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
↥(IntermediateField.fixingSubgroup K) ≃* E ≃ₐ[↥K] 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]
:
instance
IntermediateField.fixedField.smul
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
Equations
- One or more equations did not get rendered due to their size.
instance
IntermediateField.fixedField.algebra
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
Equations
- One or more equations did not get rendered due to their size.
instance
IntermediateField.fixedField.isScalarTower
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
(K : IntermediateField F E)
:
Equations
- (_ : IsScalarTower (↥K) (↥(IntermediateField.fixedField (IntermediateField.fixingSubgroup K))) E) = (_ : IsScalarTower (↥K) (↥(IntermediateField.fixedField (IntermediateField.fixingSubgroup K))) E)
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]
:
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 ∈ IntermediateField.fixingSubgroup K]
[FiniteDimensional F E]
[IsGalois F 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
- One or more equations did not get rendered due to their size.
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), Polynomial.Separable p ∧ 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 : Polynomial.Separable p)
(K : Type u_3)
[Field K]
[Algebra F K]
[Algebra K E]
[IsScalarTower F K E]
{x : E}
(hx : x ∈ Polynomial.aroots p 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 : Polynomial.Separable p)
:
IsGalois F E
theorem
IsGalois.tfae
{F : Type u_1}
[Field F]
{E : Type u_2}
[Field E]
[Algebra F E]
[FiniteDimensional F E]
:
List.TFAE
[IsGalois F E, IntermediateField.fixedField ⊤ = ⊥, Fintype.card (E ≃ₐ[F] E) = FiniteDimensional.finrank F E,
∃ (p : Polynomial F), Polynomial.Separable p ∧ Polynomial.IsSplittingField F E p]
Equivalent characterizations of a Galois extension of finite degree
instance
IsGalois.normalClosure
(k : Type u_1)
(K : Type u_2)
(F : Type u_3)
[Field k]
[Field K]
[Field F]
[Algebra k K]
[Algebra k F]
[IsGalois k F]
:
IsGalois k ↥(normalClosure k K F)
Equations
- (_ : IsGalois k ↥(normalClosure k K F)) = (_ : IsGalois k ↥(normalClosure k K F))