Module

FixedFields.lean

Nyll.ValuedFieldTheory.Ramification.HilbertRamification.Dedekind.FixedFields
23 declarations indexed from sourceView source ↗

Hilbert ramification theory: decomposition and inertia fields

This file contains the fixed-field layer of prime-decomposition theory. The Dedekind-domain file defines the decomposition and inertia groups attached to a prime ideal; here we view those groups as subgroups of a finite Galois group acting on the fraction field and use mathlib's Galois correspondence.

Declarations

HilbertRamification.Dedekind.fixedFieldOfSubgroup

The fixed field of a subgroup of a finite Galois group, in the IsGaloisGroup formulation used by the Dedekind ramification API.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
abbrev fixedFieldOfSubgroup (H : Subgroup G) : IntermediateField K L
HilbertRamification.Dedekind.mem_fixedFieldOfSubgroup_iff

Elementwise membership in the fixed field of a subgroup.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
theorem mem_fixedFieldOfSubgroup_iff
    {H : Subgroup G} {x : L} :
    x ∈ fixedFieldOfSubgroup (K := K) (L := L) G H ↔
      ∀ σ : H, (σ : G) • x = x
HilbertRamification.Dedekind.mem_fixedFieldOfSubgroup_iff_forall_mem

Membership in a subgroup fixed field, written with subgroup membership rather than subtype elements.

Source context 9 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
theorem mem_fixedFieldOfSubgroup_iff_forall_mem
    {H : Subgroup G} {x : L} :
    x ∈ fixedFieldOfSubgroup (K := K) (L := L) G H ↔
      ∀ σ ∈ H, σ • x = x
HilbertRamification.Dedekind.fixedFieldOfSubgroup_fixingSubgroup_eq

The subgroup fixing the fixed field of a subgroup is the subgroup itself.

Source context 10 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
theorem fixedFieldOfSubgroup_fixingSubgroup_eq
    (H : Subgroup G) [Finite G] [IsGaloisGroup G K L] :
    fixingSubgroup G
        ((fixedFieldOfSubgroup (K := K) (L := L) G H : IntermediateField K L) :
          Set L) =
      H
HilbertRamification.Dedekind.fixedFieldOfSubgroup_eq_top_iff_subgroup_eq_bot

A subgroup has full fixed field exactly when it is trivial.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
theorem fixedFieldOfSubgroup_eq_top_iff_subgroup_eq_bot
    {H : Subgroup G} [Finite G] [IsGaloisGroup G K L] :
    fixedFieldOfSubgroup (K := K) (L := L) G H = ⊤ ↔ H = ⊥
HilbertRamification.Dedekind.fixedFieldOfSubgroup_eq_bot_iff_subgroup_eq_top

A subgroup has base fixed field exactly when it is all of the Galois group.

Source context 11 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
theorem fixedFieldOfSubgroup_eq_bot_iff_subgroup_eq_top
    {H : Subgroup G} [Finite G] [IsGaloisGroup G K L] :
    fixedFieldOfSubgroup (K := K) (L := L) G H = ⊥ ↔ H = ⊤
HilbertRamification.Dedekind.decompositionField

The decomposition and inertia definition: the decomposition field Z_P, as the fixed field of the decomposition group.

Source context 12 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
abbrev decompositionField
    (P : Ideal B) [MulSemiringAction G B] : IntermediateField K L
HilbertRamification.Dedekind.mem_decompositionField_iff

Elementwise membership in the decomposition field.

Source context 13 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
theorem mem_decompositionField_iff
    {P : Ideal B} [MulSemiringAction G B] {x : L} :
    x ∈ decompositionField (K := K) (L := L) G P ↔
      ∀ σ ∈ decompositionGroup P G, σ • x = x
HilbertRamification.Dedekind.dedekindDecomposition_decompositionField_fixingSubgroup_eq

Decomposition and inertia groups satisfy: the subgroup fixing the decomposition field is the decomposition group.

Source context 14 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
theorem dedekindDecomposition_decompositionField_fixingSubgroup_eq
    (P : Ideal B) [MulSemiringAction G B]
    [Finite G] [IsGaloisGroup G K L] :
    fixingSubgroup G
        ((decompositionField (K := K) (L := L) G P : IntermediateField K L) :
          Set L) =
      decompositionGroup P G
HilbertRamification.Dedekind.dedekindDecomposition_decompositionField_eq_top_iff_decompositionGroup_eq_bot

Decomposition and inertia groups satisfy: G_P = 1 if and only if Z_P = L.

Source context 15 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
theorem dedekindDecomposition_decompositionField_eq_top_iff_decompositionGroup_eq_bot
    {P : Ideal B} [MulSemiringAction G B]
    [Finite G] [IsGaloisGroup G K L] :
    decompositionField (K := K) (L := L) G P = ⊤ ↔
      decompositionGroup P G = ⊥
HilbertRamification.Dedekind.dedekindDecomposition_decompositionField_eq_bot_iff_decompositionGroup_eq_top

Decomposition and inertia groups satisfy: G_P = G if and only if Z_P = K.

Source context 15 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
theorem dedekindDecomposition_decompositionField_eq_bot_iff_decompositionGroup_eq_top
    {P : Ideal B} [MulSemiringAction G B]
    [Finite G] [IsGaloisGroup G K L] :
    decompositionField (K := K) (L := L) G P = ⊥ ↔
      decompositionGroup P G = ⊤
HilbertRamification.Dedekind.dedekindDecomposition_decompositionField_eq_top_iff_primesOver_ncard_eq_card

Decomposition and inertia groups satisfy: the fixed-field form of total splitting, Z_P = L iff the number of primes above p is #G.

Source context 15 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
theorem dedekindDecomposition_decompositionField_eq_top_iff_primesOver_ncard_eq_card
    (p : Ideal A) (P : Ideal B) [P.IsPrime] [P.LiesOver p]
    [MulSemiringAction G B]
    [Finite G] [IsGaloisGroup G K L] [IsGaloisGroup G A B] :
    decompositionField (K := K) (L := L) G P = ⊤ ↔
      (p.primesOver B).ncard = Nat.card G
HilbertRamification.Dedekind.dedekindDecomposition_decompositionField_eq_bot_iff_primesOver_ncard_eq_one

Decomposition and inertia groups satisfy: the fixed-field form of nonsplitting, Z_P = K iff P is the only prime above p.

Source context 15 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
theorem dedekindDecomposition_decompositionField_eq_bot_iff_primesOver_ncard_eq_one
    (p : Ideal A) (P : Ideal B) [P.IsPrime] [P.LiesOver p]
    [MulSemiringAction G B]
    [Finite G] [IsGaloisGroup G K L] [IsGaloisGroup G A B] :
    decompositionField (K := K) (L := L) G P = ⊥ ↔
      (p.primesOver B).ncard = 1
HilbertRamification.Dedekind.dedekindTower_decompositionField_finrank_eq_decomposition_card

The prime-decomposition tower identity: [L : Z_P] = #G_P.

Source context 16 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
theorem dedekindTower_decompositionField_finrank_eq_decomposition_card
    (P : Ideal B) [MulSemiringAction G B] [IsGaloisGroup G K L] :
    Module.finrank (decompositionField (K := K) (L := L) G P) L =
      Nat.card (decompositionGroup P G)
HilbertRamification.Dedekind.decompositionGroup_isGaloisGroup

The prime-decomposition tower identity: the decomposition group is the Galois group of L/Z_P.

Source context 16 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
instance decompositionGroup_isGaloisGroup
    (P : Ideal B) [MulSemiringAction G B] [IsGaloisGroup G K L] :
    IsGaloisGroup (decompositionGroup P G)
      (decompositionField (K := K) (L := L) G P) L
HilbertRamification.Dedekind.inertiaField

The inertia-field definition: the inertia field T_P, as the fixed field of the inertia group.

Source context 16 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
abbrev inertiaField
    (P : Ideal B) [MulSemiringAction G B] : IntermediateField K L
HilbertRamification.Dedekind.mem_inertiaField_iff

Elementwise membership in the inertia field.

Source context 17 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
theorem mem_inertiaField_iff
    {P : Ideal B} [MulSemiringAction G B] {x : L} :
    x ∈ inertiaField (K := K) (L := L) G P ↔
      ∀ σ ∈ inertiaGroup P G, σ • x = x
HilbertRamification.Dedekind.decompositionField_le_inertiaField

Prime-decomposition statement: the decomposition field is contained in the inertia field.

Source context 18 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
theorem decompositionField_le_inertiaField
    (P : Ideal B) [MulSemiringAction G B] :
    decompositionField (K := K) (L := L) G P ≤
      inertiaField (K := K) (L := L) G P
HilbertRamification.Dedekind.dedekindRamification_inertiaField_fixingSubgroup_eq

Prime-decomposition statement: the subgroup fixing the inertia field is the inertia group.

Source context 18 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
theorem dedekindRamification_inertiaField_fixingSubgroup_eq
    (P : Ideal B) [MulSemiringAction G B]
    [Finite G] [IsGaloisGroup G K L] :
    fixingSubgroup G
        ((inertiaField (K := K) (L := L) G P : IntermediateField K L) :
          Set L) =
      inertiaGroup P G
HilbertRamification.Dedekind.dedekindRamification_inertiaField_eq_top_iff_inertiaGroup_eq_bot

A fixed-field special case: I_P = 1 if and only if T_P = L.

Source context 19 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
theorem dedekindRamification_inertiaField_eq_top_iff_inertiaGroup_eq_bot
    {P : Ideal B} [MulSemiringAction G B]
    [Finite G] [IsGaloisGroup G K L] :
    inertiaField (K := K) (L := L) G P = ⊤ ↔
      inertiaGroup P G = ⊥
HilbertRamification.Dedekind.dedekindRamification_inertiaField_eq_bot_iff_inertiaGroup_eq_top

Fixed-field source for the opposite extreme of the inertia field: I_P = G if and only if T_P = K.

Source context 19 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
theorem dedekindRamification_inertiaField_eq_bot_iff_inertiaGroup_eq_top
    {P : Ideal B} [MulSemiringAction G B]
    [Finite G] [IsGaloisGroup G K L] :
    inertiaField (K := K) (L := L) G P = ⊥ ↔
      inertiaGroup P G = ⊤
HilbertRamification.Dedekind.dedekindRamification_inertiaField_finrank_eq_inertia_card

A prime-decomposition consequence: [L : T_P] = #I_P.

Source context 20 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
theorem dedekindRamification_inertiaField_finrank_eq_inertia_card
    (P : Ideal B) [MulSemiringAction G B] [IsGaloisGroup G K L] :
    Module.finrank (inertiaField (K := K) (L := L) G P) L =
      Nat.card (inertiaGroup P G)
HilbertRamification.Dedekind.inertiaGroup_isGaloisGroup

A prime-decomposition consequence: the inertia group is the Galois group of L/T_P.

Source context 20 commands

Surrounding namespaces, section variables, and local commands at this declaration.

noncomputable section
namespace HilbertRamification
namespace Dedekind
open Algebra Module
variable {A B K L : Type*}
variable [CommRing A] [CommRing B] [Algebra A B]
variable [Field K] [Field L] [Algebra K L]
variable (G : Type*) [Group G] [MulSemiringAction G L] [SMulCommClass G K L]
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
variable {G}
variable (G)
instance inertiaGroup_isGaloisGroup
    (P : Ideal B) [MulSemiringAction G B] [IsGaloisGroup G K L] :
    IsGaloisGroup (inertiaGroup P G)
      (inertiaField (K := K) (L := L) G P) L