Module

EverywhereUnramifiedProPCompositum.lean

Nyll.SawinTotallyRealTowers.UnramifiedProPRelationRank.Global.EverywhereUnramifiedProPCompositum
6 declarations indexed from sourceView source ↗

Finite everywhere-unramified pro-p composita

This file bundles the finite Galois everywhere-unramified p-extensions inside the chosen algebraic closure. For odd p, the bundle is closed under binary composita.

Declarations

ClassFieldTower.Martinet.FiniteEverywhereUnramifiedProPExtension

A finite Galois everywhere-unramified p-extension inside the chosen algebraic closure.

Source context 4 commands

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

open scoped NumberField
noncomputable section
universe u
namespace ClassFieldTower.Martinet
structure FiniteEverywhereUnramifiedProPExtension
    (F : Type u) [Field F] [NumberField F]
    (p : ℕ) where
  /-- The intermediate field inside the chosen algebraic closure. -/
  field : IntermediateField F (AlgebraicClosure F)
  /-- Finiteness of the extension over the base field. -/
  [finiteDimensional : FiniteDimensional F field]
  /-- The extension is Galois over the base field. -/
  [isGalois : IsGalois F field]
  /-- The intermediate field is itself a number field. -/
  [numberField : NumberField field]
  /-- Its finite Galois group is a `p`-group. -/
  isPGroup : IsPGroup p (field ≃ₐ[F] field)
  /-- The extension is unramified at every finite and infinite place. -/
  everywhereUnramified : IsEverywhereUnramified F field
ClassFieldTower.Martinet.FiniteEverywhereUnramifiedProPExtension.bot

The base field, as the bottom intermediate field, is a candidate.

Source context 8 commands

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

open scoped NumberField
noncomputable section
universe u
namespace ClassFieldTower.Martinet
namespace FiniteEverywhereUnramifiedProPExtension
variable {F : Type u} [Field F] [NumberField F]
variable {p : ℕ}
attribute [instance] finiteDimensional isGalois numberField
def bot : FiniteEverywhereUnramifiedProPExtension F p where
  field := ⊥
  finiteDimensional := inferInstance
  isGalois := inferInstance
  numberField := NumberField.of_module_finite F ↥(⊥ :
    IntermediateField F (AlgebraicClosure F))
  isPGroup := by
    apply IsPGroup.of_card (n := 0)
    rw [IsGalois.card_aut_eq_finrank F
      (⊥ : IntermediateField F (AlgebraicClosure F)),
      IntermediateField.finrank_bot, pow_zero]
  everywhereUnramified := by
    let hNumber : NumberField ↥(⊥ :
        IntermediateField F (AlgebraicClosure F)) :=
      NumberField.of_module_finite F ↥(⊥ :
        IntermediateField F (AlgebraicClosure F))
    let _ := hNumber
    exact everywhereUnramified_congrTop
      (IntermediateField.botEquiv F (AlgebraicClosure F)).symm
      (IsEverywhereUnramified.refl F)
ClassFieldTower.Martinet.FiniteEverywhereUnramifiedProPExtension.isPGroup_prod

A product of two p-groups is a p-group.

Source context 8 commands

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

open scoped NumberField
noncomputable section
universe u
namespace ClassFieldTower.Martinet
namespace FiniteEverywhereUnramifiedProPExtension
variable {F : Type u} [Field F] [NumberField F]
variable {p : ℕ}
attribute [instance] finiteDimensional isGalois numberField
theorem isPGroup_prod
    {G H : Type*} [Group G] [Group H]
    (hG : IsPGroup p G) (hH : IsPGroup p H) :
    IsPGroup p (G × H)
ClassFieldTower.Martinet.FiniteEverywhereUnramifiedProPExtension.isPGroup_sup

The Galois group of a binary compositum embeds into the product of the Galois groups of its two factors, so it is a p-group.

Source context 8 commands

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

open scoped NumberField
noncomputable section
universe u
namespace ClassFieldTower.Martinet
namespace FiniteEverywhereUnramifiedProPExtension
variable {F : Type u} [Field F] [NumberField F]
variable {p : ℕ}
attribute [instance] finiteDimensional isGalois numberField
theorem isPGroup_sup
    (E₁ E₂ : FiniteEverywhereUnramifiedProPExtension F p) :
    IsPGroup p
      (↥(E₁.field ⊔ E₂.field) ≃ₐ[F]
        ↥(E₁.field ⊔ E₂.field))
ClassFieldTower.Martinet.FiniteEverywhereUnramifiedProPExtension.sup

For odd p, the binary compositum of two bundled candidates is again a bundled candidate.

Source context 8 commands

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

open scoped NumberField
noncomputable section
universe u
namespace ClassFieldTower.Martinet
namespace FiniteEverywhereUnramifiedProPExtension
variable {F : Type u} [Field F] [NumberField F]
variable {p : ℕ}
attribute [instance] finiteDimensional isGalois numberField
def sup [Fact p.Prime] (hpOdd : Odd p)
    (E₁ E₂ : FiniteEverywhereUnramifiedProPExtension F p) :
    FiniteEverywhereUnramifiedProPExtension F p
ClassFieldTower.Martinet.maximalEverywhereUnramifiedProP_eq_iSup_extension

The raw maximal compositum is the supremum of the canonically bundled finite everywhere-unramified Galois p-extensions.

Source context 4 commands

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

open scoped NumberField
noncomputable section
universe u
namespace ClassFieldTower.Martinet
theorem maximalEverywhereUnramifiedProP_eq_iSup_extension
    (F : Type u) [Field F] [NumberField F]
    (p : ℕ) [Fact p.Prime] :
    maximalEverywhereUnramifiedProP F p =
      ⨆ E : FiniteEverywhereUnramifiedProPExtension F p, E.field