Module

FiniteRealPExtension.lean

Nyll.SawinTotallyRealTowers.FiniteRealPExtension
9 declarations indexed from sourceView source ↗

Finite layers of the real tower with prescribed ramification

We select actual finite Galois intermediate fields of the fixed algebraic closure of ℚ. The base field is a member and binary composita remain in the family. These constructors provide the directed family used to form the maximal tower; no infiniteness or presentation is assumed.

Declarations

ClassFieldTower.Sawin.finiteGaloisNumberField
Source context 4 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E
ClassFieldTower.Sawin.IsAdmissibleFiniteLayer

The finite layers permitted in the initial real pro-p tower.

Source context 5 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
private local instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E :=
  NumberField.of_module_finite ℚ E
def IsAdmissibleFiniteLayer (p : ℕ)
    (T : Set (HeightOneSpectrum (𝓞 ℚ)))
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : Prop
ClassFieldTower.Sawin.isAdmissibleFiniteLayer_bot

The identity layer satisfies the arithmetic conditions for every prime parameter and every permitted support.

Source context 5 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
private local instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E :=
  NumberField.of_module_finite ℚ E
theorem isAdmissibleFiniteLayer_bot (p : ℕ)
    (T : Set (HeightOneSpectrum (𝓞 ℚ))) :
    IsAdmissibleFiniteLayer p T ⊥
theorem

sup

L64 ↗
ClassFieldTower.Sawin.IsAdmissibleFiniteLayer.sup

Binary composita preserve all three finite-layer conditions, including when the prime parameter is two.

Source context 5 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
private local instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E :=
  NumberField.of_module_finite ℚ E
theorem IsAdmissibleFiniteLayer.sup {p : ℕ}
    {T : Set (HeightOneSpectrum (𝓞 ℚ))}
    {E F : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)}
    (hE : IsAdmissibleFiniteLayer p T E)
    (hF : IsAdmissibleFiniteLayer p T F) :
    IsAdmissibleFiniteLayer p T (E ⊔ F)
ClassFieldTower.Sawin.IsAdmissibleFiniteLayer.of_le

A finite Galois subextension of an admissible layer remains admissible. The restriction map supplies its p-group structure, and the tower descent theorems supply both local conditions.

Source context 5 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
private local instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E :=
  NumberField.of_module_finite ℚ E
theorem IsAdmissibleFiniteLayer.of_le {p : ℕ}
    {T : Set (HeightOneSpectrum (𝓞 ℚ))}
    {E F : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)}
    (hEF : E ≤ F) (hF : IsAdmissibleFiniteLayer p T F) :
    IsAdmissibleFiniteLayer p T E
ClassFieldTower.Sawin.FiniteRealPExtension

Actual admissible finite layers, indexed without duplicating Mathlib's finite Galois intermediate-field structure.

Source context 5 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
private local instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E :=
  NumberField.of_module_finite ℚ E
def FiniteRealPExtension (p : ℕ) (T : Set (HeightOneSpectrum (𝓞 ℚ))) : Type
ClassFieldTower.Sawin.FiniteRealPExtension.bot

The bottom layer of the directed family.

Source context 6 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
private local instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E :=
  NumberField.of_module_finite ℚ E
namespace FiniteRealPExtension
def bot (p : ℕ) (T : Set (HeightOneSpectrum (𝓞 ℚ))) :
    FiniteRealPExtension p T
ClassFieldTower.Sawin.FiniteRealPExtension.sup

The concrete compositum of two admissible finite layers.

Source context 6 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
private local instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E :=
  NumberField.of_module_finite ℚ E
namespace FiniteRealPExtension
def sup {p : ℕ} {T : Set (HeightOneSpectrum (𝓞 ℚ))}
    (E F : FiniteRealPExtension p T) : FiniteRealPExtension p T
ClassFieldTower.Sawin.FiniteRealPExtension.directed

Every pair of finite layers is contained in their admissible compositum.

Source context 6 commands

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

open scoped NumberField
open NumberField IsDedekindDomain
noncomputable section
namespace ClassFieldTower.Sawin
private local instance finiteGaloisNumberField
    (E : FiniteGaloisIntermediateField ℚ (AlgebraicClosure ℚ)) : NumberField E :=
  NumberField.of_module_finite ℚ E
namespace FiniteRealPExtension
theorem directed (p : ℕ) (T : Set (HeightOneSpectrum (𝓞 ℚ))) :
    Directed (· ≤ ·)
      (fun E : FiniteRealPExtension p T ↦ E.val.toIntermediateField) := by
  intro E F
  exact ⟨sup E F, le_sup_left, le_sup_right⟩