Module

CyclotomicArithmeticStageMapped.lean

Nyll.SawinTotallyRealTowers.UnramifiedProPRelationRank.RelationRank.CyclotomicArithmeticStageMapped
12 declarations indexed from sourceView source ↗

The cyclotomic stage in a synchronized algebraic closure

Mapping the actual compositum along a supplied algebraic-closure equivalence gives a finite everywhere-unramified p-extension in the cyclotomic base's standard algebraic closure. The equivalence is the concrete closure comparison used by absolute-Galois restriction; no new choice of closure comparison is made here.

The mapped field is named separately from its arithmetic bundle so that the coefficient and embedding interfaces do not unfold the bundle's finite-dimensionality and unramifiedness proofs during type synthesis.

Declarations

ClassFieldTower.Martinet.Shafarevich.mappedCyclotomicBaseFinite
Source context 9 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo
ClassFieldTower.Martinet.Shafarevich.mappedCyclotomicBaseNumber
Source context 10 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
instance mappedCyclotomicBaseNumber : NumberField Cyclo
ClassFieldTower.Martinet.Shafarevich.mappedCyclotomicSourceFinite
Source context 11 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage
ClassFieldTower.Martinet.Shafarevich.mappedCyclotomicSourceNumber
Source context 12 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
instance mappedCyclotomicSourceNumber : NumberField TopStage
ClassFieldTower.Martinet.Shafarevich.mappedCyclotomicSourceGalois
Source context 13 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
local instance mappedCyclotomicSourceNumber : NumberField TopStage :=
  cyclotomicArithmeticStage_numberField F p hpOdd U
instance mappedCyclotomicSourceGalois : IsGalois Cyclo TopStage
ClassFieldTower.Martinet.Shafarevich.cyclotomicArithmeticStageMappedField

The actual image of the compositum in the synchronized closure.

Source context 14 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
local instance mappedCyclotomicSourceNumber : NumberField TopStage :=
  cyclotomicArithmeticStage_numberField F p hpOdd U
local instance mappedCyclotomicSourceGalois : IsGalois Cyclo TopStage :=
  cyclotomicArithmeticStage_isGalois F p hpOdd U
def cyclotomicArithmeticStageMappedField
    (e : AlgebraicClosure Cyclo ≃ₐ[Cyclo] AlgebraicClosure F) :
    IntermediateField Cyclo (AlgebraicClosure Cyclo)
ClassFieldTower.Martinet.Shafarevich.cyclotomicArithmeticStageMappedEquiv

The compositum is equivalent to its actual image over the cyclotomic base.

Source context 14 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
local instance mappedCyclotomicSourceNumber : NumberField TopStage :=
  cyclotomicArithmeticStage_numberField F p hpOdd U
local instance mappedCyclotomicSourceGalois : IsGalois Cyclo TopStage :=
  cyclotomicArithmeticStage_isGalois F p hpOdd U
def cyclotomicArithmeticStageMappedEquiv
    (e : AlgebraicClosure Cyclo ≃ₐ[Cyclo] AlgebraicClosure F) :
    TopStage ≃ₐ[Cyclo] cyclotomicArithmeticStageMappedField F p hpOdd U e
ClassFieldTower.Martinet.Shafarevich.cyclotomicArithmeticStageMappedExtension

All finite, Galois, p-group, and unramified certificates transported to the actual mapped field inside the standard algebraic closure.

Source context 14 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
local instance mappedCyclotomicSourceNumber : NumberField TopStage :=
  cyclotomicArithmeticStage_numberField F p hpOdd U
local instance mappedCyclotomicSourceGalois : IsGalois Cyclo TopStage :=
  cyclotomicArithmeticStage_isGalois F p hpOdd U
def cyclotomicArithmeticStageMappedExtension
    (e : AlgebraicClosure Cyclo ≃ₐ[Cyclo] AlgebraicClosure F) :
    FiniteEverywhereUnramifiedProPExtension Cyclo p
ClassFieldTower.Martinet.Shafarevich.cyclotomicArithmeticStageMappedExtension_field
Source context 14 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
local instance mappedCyclotomicSourceNumber : NumberField TopStage :=
  cyclotomicArithmeticStage_numberField F p hpOdd U
local instance mappedCyclotomicSourceGalois : IsGalois Cyclo TopStage :=
  cyclotomicArithmeticStage_isGalois F p hpOdd U
theorem cyclotomicArithmeticStageMappedExtension_field
    (e : AlgebraicClosure Cyclo ≃ₐ[Cyclo] AlgebraicClosure F) :
    (cyclotomicArithmeticStageMappedExtension F p hpOdd U e).field =
      cyclotomicArithmeticStageMappedField F p hpOdd U e
ClassFieldTower.Martinet.Shafarevich.cyclotomicArithmeticStageMappedEquiv_apply
Source context 14 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
local instance mappedCyclotomicSourceNumber : NumberField TopStage :=
  cyclotomicArithmeticStage_numberField F p hpOdd U
local instance mappedCyclotomicSourceGalois : IsGalois Cyclo TopStage :=
  cyclotomicArithmeticStage_isGalois F p hpOdd U
theorem cyclotomicArithmeticStageMappedEquiv_apply
    (e : AlgebraicClosure Cyclo ≃ₐ[Cyclo] AlgebraicClosure F) (x : TopStage) :
    ((cyclotomicArithmeticStageMappedEquiv F p hpOdd U e x :
      cyclotomicArithmeticStageMappedField F p hpOdd U e) : AlgebraicClosure Cyclo) =
        e.symm x
ClassFieldTower.Martinet.Shafarevich.cyclotomicArithmeticStageMappedOriginalAlgHom

The original arithmetic stage embeds into the mapped compositum.

Source context 14 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
local instance mappedCyclotomicSourceNumber : NumberField TopStage :=
  cyclotomicArithmeticStage_numberField F p hpOdd U
local instance mappedCyclotomicSourceGalois : IsGalois Cyclo TopStage :=
  cyclotomicArithmeticStage_isGalois F p hpOdd U
def cyclotomicArithmeticStageMappedOriginalAlgHom
    (e : AlgebraicClosure Cyclo ≃ₐ[Cyclo] AlgebraicClosure F) :
    OriginalStage →ₐ[F] cyclotomicArithmeticStageMappedField F p hpOdd U e
ClassFieldTower.Martinet.Shafarevich.cyclotomicArithmeticStageMappedOriginalAlgHom_apply
Source context 14 commands

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

noncomputable section
namespace ClassFieldTower.Martinet.Shafarevich
open ClassFieldTower.Martinet ProCGroups
variable (F : Type) [Field F] [NumberField F]
variable (p : ℕ) [Fact p.Prime] (hpOdd : Odd p)
variable (U : OpenNormalSubgroup (MaxEverywhereUnramifiedProPGaloisGroup F p))
local notation "Cyclo" => IdealRadicalCyclotomicBase F p (Fact.out : p.Prime)
local notation "TopStage" => cyclotomicArithmeticStageField F p hpOdd U
local notation "OriginalStage" => FiniteEverywhereUnramifiedProPExtension.field
  (openNormalArithmeticStage F p hpOdd U)
local instance mappedCyclotomicBaseFinite : FiniteDimensional F Cyclo :=
  finiteDimensional_idealRadicalCyclotomicBase F p Fact.out
local instance mappedCyclotomicBaseNumber : NumberField Cyclo :=
  NumberField.of_module_finite F Cyclo
local instance mappedCyclotomicSourceFinite : FiniteDimensional Cyclo TopStage :=
  cyclotomicArithmeticStage_finiteDimensional F p hpOdd U
local instance mappedCyclotomicSourceNumber : NumberField TopStage :=
  cyclotomicArithmeticStage_numberField F p hpOdd U
local instance mappedCyclotomicSourceGalois : IsGalois Cyclo TopStage :=
  cyclotomicArithmeticStage_isGalois F p hpOdd U
theorem cyclotomicArithmeticStageMappedOriginalAlgHom_apply
    (e : AlgebraicClosure Cyclo ≃ₐ[Cyclo] AlgebraicClosure F) (x : OriginalStage) :
    ((cyclotomicArithmeticStageMappedOriginalAlgHom F p hpOdd U e x :
      cyclotomicArithmeticStageMappedField F p hpOdd U e) : AlgebraicClosure Cyclo) =
        e.symm (x : AlgebraicClosure F)