Module

RadicalExtension.lean

Nyll.GaloisCohomology.Kummer.Concrete.RadicalExtension
19 declarations indexed from sourceView source ↗

the radical-extension construction

Let Delta be a subgroup of Kˣ. Inside a fixed separable closure Omega/K, we adjoin all roots beta of the equations beta ^ n = a, for a ∈ Delta. Using all roots makes the construction independent of choices and visibly stable under Gal(Omega/K).

The hypothesis (n : K) ≠ 0 is the usual assumption that n is prime to the characteristic. It is used exactly to make X ^ n - a separable. The primitive-root hypothesis is used later to make the resulting Galois group abelian of exponent dividing n.

Declarations

KummerTheory.unitNthPowersSubgroup

The subgroup Kˣ^n of n-th powers in the unit group.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
def unitNthPowersSubgroup (K : Type*) [Field K] (n : ℕ+) : Subgroup Kˣ
KummerTheory.mem_unitNthPowersSubgroup_iff

A unit lies in the unit power subgroup exactly when it is an nth power of a unit.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem mem_unitNthPowersSubgroup_iff
    (n : ℕ+) {a : Kˣ} :
    a ∈ unitNthPowersSubgroup K n ↔ ∃ b : Kˣ, b ^ (n : ℕ) = a
KummerTheory.KummerSubgroup

The subgroup-side objects in the Kummer correspondence: subgroups Delta ≤ Kˣ containing Kˣ^n.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
def KummerSubgroup (K : Type*) [Field K] (n : ℕ+)
KummerTheory.kummerRootSet

All roots in Omega of the Kummer equations belonging to Delta.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
def kummerRootSet (n : ℕ+) (Delta : Subgroup Kˣ) : Set Omega
KummerTheory.kummerRadicalExtension

The field K(√[n]{Delta}) inside the chosen separable closure.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
def kummerRadicalExtension (n : ℕ+) (Delta : Subgroup Kˣ) :
    IntermediateField K Omega
KummerTheory.exists_kummerRootSet

Every prescribed Kummer equation has a root in the separable closure. This is the only point where the characteristic hypothesis is needed.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem exists_kummerRootSet
    [IsSepClosure K Omega]
    (n : ℕ+) (hn : ((n : ℕ) : K) ≠ 0) (Delta : Subgroup Kˣ) (a : Delta) :
    ∃ beta : Omega,
      beta ∈ kummerRootSet (K := K) (Omega := Omega) n Delta ∧
        beta ^ (n : ℕ) = algebraMap K Omega (a.1 : K)
KummerTheory.le_finiteKummerRadicalSubgroup_kummerRadicalExtension

Every element of Delta acquires an n-th root in the constructed field. This is the elementary inclusion Delta ≤ Delta_{K(√[n]{Delta})} in the Kummer correspondence.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem le_finiteKummerRadicalSubgroup_kummerRadicalExtension
    [IsSepClosure K Omega]
    (n : ℕ+) (hn : ((n : ℕ) : K) ≠ 0) (Delta : Subgroup Kˣ) :
    Delta ≤ finiteKummerRadicalSubgroup
      (K := K) (L := kummerRadicalExtension (K := K) (Omega := Omega) n Delta) n
KummerTheory.unitNthPowersSubgroup_le_constructedRadical

In particular, for an admissible subgroup-side object, the radical subgroup recovered from its field still contains Kˣ^n.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem unitNthPowersSubgroup_le_constructedRadical
    [IsSepClosure K Omega]
    (n : ℕ+) (hn : ((n : ℕ) : K) ≠ 0) (Delta : KummerSubgroup K n) :
    unitNthPowersSubgroup K n ≤ finiteKummerRadicalSubgroup
      (K := K)
      (L := kummerRadicalExtension (K := K) (Omega := Omega) n Delta.1) n
KummerTheory.kummerRootSet_ne_zero

A Kummer root is nonzero because its prescribed power is a unit.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRootSet_ne_zero
    (n : ℕ+) (Delta : Subgroup Kˣ) {beta : Omega}
    (hbeta : beta ∈ kummerRootSet (K := K) (Omega := Omega) n Delta) :
    beta ≠ 0
KummerTheory.kummerRootSet_mapsTo

Every K-automorphism of the separable closure preserves the full root set.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRootSet_mapsTo
    (n : ℕ+) (Delta : Subgroup Kˣ) (sigma : Gal(Omega/K)) :
    Set.MapsTo sigma
      (kummerRootSet (K := K) (Omega := Omega) n Delta)
      (kummerRootSet (K := K) (Omega := Omega) n Delta)
KummerTheory.kummerRootSet_image

Because inverse automorphisms preserve the same equations, the root set is carried onto itself, not merely into itself.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRootSet_image
    (n : ℕ+) (Delta : Subgroup Kˣ) (sigma : Gal(Omega/K)) :
    sigma '' kummerRootSet (K := K) (Omega := Omega) n Delta =
      kummerRootSet (K := K) (Omega := Omega) n Delta
KummerTheory.kummerRadicalExtension_map

The actual radical field is stable under every automorphism of the separable closure.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRadicalExtension_map
    (n : ℕ+) (Delta : Subgroup Kˣ) (sigma : Gal(Omega/K)) :
    (kummerRadicalExtension (K := K) (Omega := Omega) n Delta).map sigma =
      kummerRadicalExtension (K := K) (Omega := Omega) n Delta
KummerTheory.kummerRadicalExtension_normal

The stability just proved is precisely normality over K.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRadicalExtension_normal
    [IsSepClosure K Omega]
    (n : ℕ+) (Delta : Subgroup Kˣ) :
    Normal K (kummerRadicalExtension (K := K) (Omega := Omega) n Delta)
KummerTheory.kummerRadicalExtension_isGalois

The extension K(√[n]{Delta})/K is Galois. Separability comes from the ambient separable closure and normality from invariance of the full root set.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRadicalExtension_isGalois
    [IsSepClosure K Omega]
    (n : ℕ+) (Delta : Subgroup Kˣ) :
    IsGalois K (kummerRadicalExtension (K := K) (Omega := Omega) n Delta)
KummerTheory.kummerRadicalExtension_generator_commute

On every radical generator, two automorphisms commute. The quotient sigma(beta) / beta is an n-th root of unity, hence lies in and is fixed by the base field under the primitive-root hypothesis.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRadicalExtension_generator_commute
    [IsSepClosure K Omega]
    (n : ℕ+) (hmu : (primitiveRoots (n : ℕ) K).Nonempty)
    (Delta : Subgroup Kˣ)
    (sigma tau : Gal(kummerRadicalExtension (K := K) (Omega := Omega) n Delta/K))
    {beta : Omega}
    (hbeta : beta ∈ kummerRootSet (K := K) (Omega := Omega) n Delta) :
    (sigma * tau)
        ⟨beta, IntermediateField.subset_adjoin K
          (kummerRootSet (K := K) (Omega := Omega) n Delta) hbeta⟩ =
      (tau * sigma)
        ⟨beta, IntermediateField.subset_adjoin K
          (kummerRootSet (K := K) (Omega := Omega) n Delta) hbeta⟩
KummerTheory.kummerRadicalExtension_isMulCommutative

Hence Gal(K(√[n]{Delta})/K) is commutative. Equality is checked on the radical generators of the adjoin.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRadicalExtension_isMulCommutative
    [IsSepClosure K Omega]
    (n : ℕ+) (hmu : (primitiveRoots (n : ℕ) K).Nonempty)
    (Delta : Subgroup Kˣ) :
    IsMulCommutative Gal(kummerRadicalExtension (K := K) (Omega := Omega) n Delta/K)
KummerTheory.kummerRadicalExtension_generator_pow_eq_one

On every radical generator, the n-th power of an automorphism is the identity.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRadicalExtension_generator_pow_eq_one
    [IsSepClosure K Omega]
    (n : ℕ+) (hmu : (primitiveRoots (n : ℕ) K).Nonempty)
    (Delta : Subgroup Kˣ)
    (sigma : Gal(kummerRadicalExtension (K := K) (Omega := Omega) n Delta/K))
    {beta : Omega}
    (hbeta : beta ∈ kummerRootSet (K := K) (Omega := Omega) n Delta) :
    (sigma ^ (n : ℕ))
        ⟨beta, IntermediateField.subset_adjoin K
          (kummerRootSet (K := K) (Omega := Omega) n Delta) hbeta⟩ =
      ⟨beta, IntermediateField.subset_adjoin K
        (kummerRootSet (K := K) (Omega := Omega) n Delta) hbeta⟩
KummerTheory.kummerRadicalExtension_galois_pow_eq_one

Every element of the Galois group has n-th power one.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRadicalExtension_galois_pow_eq_one
    [IsSepClosure K Omega]
    (n : ℕ+) (hmu : (primitiveRoots (n : ℕ) K).Nonempty)
    (Delta : Subgroup Kˣ)
    (sigma : Gal(kummerRadicalExtension (K := K) (Omega := Omega) n Delta/K)) :
    sigma ^ (n : ℕ) = 1
KummerTheory.kummerRadicalExtension_isAbelianGalois

the Kummer correspondence, forward construction: adjoining the radicals attached to Delta produces an abelian Galois extension.

Source context 5 commands

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

noncomputable section
namespace KummerTheory
section RadicalExtension
open Polynomial
variable {K Omega : Type*} [Field K] [Field Omega] [Algebra K Omega]
theorem kummerRadicalExtension_isAbelianGalois
    [IsSepClosure K Omega]
    (n : ℕ+) (hmu : (primitiveRoots (n : ℕ) K).Nonempty)
    (Delta : Subgroup Kˣ) :
    IsAbelianGalois K
      (kummerRadicalExtension (K := K) (Omega := Omega) n Delta) where
  toIsGalois := kummerRadicalExtension_isGalois n Delta
  toIsMulCommutative := kummerRadicalExtension_isMulCommutative n hmu Delta