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
.
- faithful : FaithfulSMul G L
- commutes : SMulCommClass G K L
- isInvariant : Algebra.IsInvariant K L G
Instances
theorem
IsGaloisGroup.fixedPoints_eq_bot
(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]
:
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]
:
IsGalois 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]
:
IsGaloisGroup (L ≃ₐ[K] L) 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]
:
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)
:
@[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)
:
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]
:
If G
and H
are finite Galois groups for L/K
, then G
is isomorphic to H
.
Equations
- IsGaloisGroup.mulEquivCongr G H K L = (IsGaloisGroup.mulEquivAlgEquiv G K L).trans (IsGaloisGroup.mulEquivAlgEquiv H K L).symm
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)
: