# Documentation

Mathlib.FieldTheory.Galois

# Galois Extensions #

In this file we define Galois extensions as extensions which are both separable and normal.

## Main definitions #

• IsGalois F E where E is an extension of F
• fixedField H where H : Subgroup (E ≃ₐ[F] E)
• fixingSubgroup K where K : IntermediateField F E
• intermediateFieldEquivSubgroup where E/F is finite dimensional and Galois

## Main results #

• IntermediateField.fixingSubgroup_fixedField : If E/F is finite dimensional (but not necessarily Galois) then fixingSubgroup (fixedField H) = H
• IntermediateField.fixedField_fixingSubgroup: If E/F is finite dimensional and Galois then fixedField (fixingSubgroup K) = K

Together, these two results prove the Galois correspondence.

• IsGalois.tfae : Equivalent characterizations of a Galois extension of finite degree
class IsGalois (F : Type u_1) [] (E : Type u_2) [] [Algebra F E] :
• to_isSeparable :
• to_normal : Normal F E

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.

Instances
theorem isGalois_iff {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] :
instance IsGalois.self (F : Type u_1) [] :
theorem IsGalois.integral (F : Type u_1) [] {E : Type u_2} [] [Algebra F E] [IsGalois F E] (x : E) :
theorem IsGalois.separable (F : Type u_1) [] {E : Type u_2} [] [Algebra F E] [IsGalois F E] (x : E) :
theorem IsGalois.splits (F : Type u_1) [] {E : Type u_2} [] [Algebra F E] [IsGalois F E] (x : E) :
instance IsGalois.of_fixed_field (E : Type u_2) [] (G : Type u_3) [] [] [] :
IsGalois { x // } E
theorem IsGalois.IntermediateField.AdjoinSimple.card_aut_eq_finrank (F : Type u_1) [] (E : Type u_2) [] [Algebra F E] [] {α : E} (hα : ) (h_sep : ) (h_splits : Polynomial.Splits (algebraMap F { x // x Fα }) (minpoly F α)) :
Fintype.card ({ x // x Fα } ≃ₐ[F] { x // x Fα }) = FiniteDimensional.finrank F { x // x Fα }
theorem IsGalois.card_aut_eq_finrank (F : Type u_1) [] (E : Type u_2) [] [Algebra F E] [] [IsGalois F E] :
theorem IsGalois.tower_top_of_isGalois (F : Type u_1) (K : Type u_2) (E : Type u_3) [] [] [] [Algebra F K] [Algebra F E] [Algebra K E] [] [IsGalois F E] :
instance IsGalois.tower_top_intermediateField {F : Type u_1} {E : Type u_3} [] [] [Algebra F E] (K : ) [IsGalois F E] :
IsGalois { x // x K } E
theorem isGalois_iff_isGalois_bot {F : Type u_1} {E : Type u_3} [] [] [Algebra F E] :
IsGalois { x // x } E IsGalois F E
theorem IsGalois.of_algEquiv {F : Type u_1} {E : Type u_3} [] [] {E' : Type u_4} [Field E'] [Algebra F E'] [Algebra F E] [IsGalois F E] (f : E ≃ₐ[F] E') :
theorem AlgEquiv.transfer_galois {F : Type u_1} {E : Type u_3} [] [] {E' : Type u_4} [Field E'] [Algebra F E'] [Algebra F E] (f : E ≃ₐ[F] E') :
theorem isGalois_iff_isGalois_top {F : Type u_1} {E : Type u_3} [] [] [Algebra F E] :
IsGalois F { x // x } IsGalois F E
instance isGalois_bot {F : Type u_1} {E : Type u_3} [] [] [Algebra F E] :
IsGalois F { x // x }
def FixedPoints.intermediateField {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (M : Type u_3) [] [] [] :

The intermediate field of fixed points fixed by a monoid action that commutes with the F-action on E.

Instances For
def IntermediateField.fixedField {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (H : Subgroup (E ≃ₐ[F] E)) :

The intermediate field fixed by a subgroup

Instances For
theorem IntermediateField.finrank_fixedField_eq_card {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (H : Subgroup (E ≃ₐ[F] E)) [] [DecidablePred fun x => x H] :
def IntermediateField.fixingSubgroup {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (K : ) :

The subgroup fixing an intermediate field

Instances For
theorem IntermediateField.le_iff_le {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (H : Subgroup (E ≃ₐ[F] E)) (K : ) :
def IntermediateField.fixingSubgroupEquiv {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (K : ) :
{ x // } ≃* E ≃ₐ[{ x // x K }] E

The fixing subgroup of K : IntermediateField F E is isomorphic to E ≃ₐ[K] E

Instances For
theorem IntermediateField.fixingSubgroup_fixedField {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (H : Subgroup (E ≃ₐ[F] E)) [] :
instance IntermediateField.fixedField.smul {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (K : ) :
SMul { x // x K }
instance IntermediateField.fixedField.algebra {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (K : ) :
Algebra { x // x K }
instance IntermediateField.fixedField.isScalarTower {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (K : ) :
IsScalarTower { x // x K } E
theorem IsGalois.fixedField_fixingSubgroup {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (K : ) [] [h : IsGalois F E] :
theorem IsGalois.card_fixingSubgroup_eq_finrank {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] (K : ) [DecidablePred fun x => ] [] [IsGalois F E] :
def IsGalois.intermediateFieldEquivSubgroup {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] [] [IsGalois F E] :

The Galois correspondence from intermediate fields to subgroups

Instances For
def IsGalois.galoisInsertionIntermediateFieldSubgroup {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] [] :
GaloisInsertion (OrderDual.toDual IntermediateField.fixingSubgroup) (IntermediateField.fixedField OrderDual.toDual)

The Galois correspondence as a GaloisInsertion

Instances For
def IsGalois.galoisCoinsertionIntermediateFieldSubgroup {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] [] [IsGalois F E] :
GaloisCoinsertion (OrderDual.toDual IntermediateField.fixingSubgroup) (IntermediateField.fixedField OrderDual.toDual)

The Galois correspondence as a GaloisCoinsertion

Instances For
theorem IsGalois.is_separable_splitting_field (F : Type u_1) [] (E : Type u_2) [] [Algebra F E] [] [IsGalois F E] :
p,
theorem IsGalois.of_fixedField_eq_bot (F : Type u_1) [] (E : Type u_2) [] [Algebra F E] [] (h : ) :
theorem IsGalois.of_card_aut_eq_finrank (F : Type u_1) [] (E : Type u_2) [] [Algebra F E] [] (h : Fintype.card (E ≃ₐ[F] E) = ) :
theorem IsGalois.of_separable_splitting_field_aux {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] {p : } [hFE : ] [sp : ] (hp : ) (K : Type u_3) [] [Algebra F K] [Algebra K E] [] {x : E} (hx : x ) [Fintype (K →ₐ[F] E)] [Fintype ({ x // } →ₐ[F] E)] :
Fintype.card ({ x // } →ₐ[F] E) = Fintype.card (K →ₐ[F] E) * FiniteDimensional.finrank K { x // x Kx }
theorem IsGalois.of_separable_splitting_field {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] {p : } [sp : ] (hp : ) :
theorem IsGalois.tfae {F : Type u_1} [] {E : Type u_2} [] [Algebra F E] [] :
List.TFAE [IsGalois F E, , Fintype.card (E ≃ₐ[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) [] [] [] [Algebra k K] [Algebra k F] [Algebra K F] [] [IsGalois k F] :
IsGalois k { x // x }
instance IsAlgClosure.isGalois (k : Type u_1) (K : Type u_2) [] [] [Algebra k K] [] [] :