Documentation

Mathlib.FieldTheory.Galois.IsGaloisGroup

Predicate for Galois Groups #

Given an action of a group G on an extension of fields L/K, we introduce a predicate IsGaloisGroup G K L saying that G acts faithfully on L with fixed field K. In particular, we do not assume that L is an algebraic extension of K.

class IsGaloisGroup (G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] :

G is a Galois group for L/K if the action on L is faithful with fixed field K. In particular, we do not assume that L is an algebraic extension of K.

Instances
    theorem IsGaloisGroup.isGalois (G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [Finite G] [IsGaloisGroup G K L] :

    If G is a finite Galois group for L/K, then L/K is a Galois extension.

    instance IsGaloisGroup.of_isGalois (K : Type u_3) (L : Type u_4) [Field K] [Field L] [Algebra K L] [FiniteDimensional K L] [IsGalois K L] :

    If L/K is a finite Galois extension, then L ≃ₐ[K] L is a Galois group for L/K.

    theorem IsGaloisGroup.card_eq_finrank (G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [Finite G] [IsGaloisGroup G K L] :
    theorem IsGaloisGroup.finiteDimensional (G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [Finite G] [IsGaloisGroup G K L] :
    noncomputable def IsGaloisGroup.mulEquivAlgEquiv (G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [IsGaloisGroup G K L] [Finite G] :
    G ≃* L ≃ₐ[K] L

    If G is a finite Galois group for L/K, then G is isomorphic to L ≃ₐ[K] L.

    Equations
    Instances For
      @[simp]
      theorem IsGaloisGroup.mulEquivAlgEquiv_apply_apply (G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [IsGaloisGroup G K L] [Finite G] (a : G) (a✝ : L) :
      ((mulEquivAlgEquiv G K L) a) a✝ = a a✝
      @[simp]
      theorem IsGaloisGroup.mulEquivAlgEquiv_symm_apply (G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [IsGaloisGroup G K L] [Finite G] (b : L ≃ₐ[K] L) :
      @[simp]
      theorem IsGaloisGroup.mulEquivAlgEquiv_apply_symm_apply (G : Type u_1) (K : Type u_3) (L : Type u_4) [Group G] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [IsGaloisGroup G K L] [Finite G] (a : G) (a✝ : L) :
      ((mulEquivAlgEquiv G K L) a).symm a✝ = a⁻¹ a✝
      noncomputable def IsGaloisGroup.mulEquivCongr (G : Type u_1) (H : Type u_2) (K : Type u_3) (L : Type u_4) [Group G] [Group H] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [MulSemiringAction H L] [IsGaloisGroup G K L] [Finite G] [IsGaloisGroup H K L] [Finite H] :
      G ≃* H

      If G and H are finite Galois groups for L/K, then G is isomorphic to H.

      Equations
      Instances For
        @[simp]
        theorem IsGaloisGroup.mulEquivCongr_apply_smul (G : Type u_1) (H : Type u_2) (K : Type u_3) (L : Type u_4) [Group G] [Group H] [Field K] [Field L] [Algebra K L] [MulSemiringAction G L] [MulSemiringAction H L] [IsGaloisGroup G K L] [Finite G] [IsGaloisGroup H K L] [Finite H] (g : G) (x : L) :
        (mulEquivCongr G H K L) g x = g x