Module

NativeAbsoluteRamificationResidues.lean

Nyll.EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues
10 declarations indexed from sourceView source ↗

Native absolute residue fields and their literal full roots target

Store the original two fields and coefficient algebra once. The separable field, residue Galois group and roots group are computed from these data. The roots group is literally the full primeToRootsSystem inverse limit, indexed by InvertibleExponent, without a further subtype restriction.

The residue conclusions below are an OUTPUT certificate. Its constructor uses algebraic closedness and standard separable-closure facts in this field-only owner, before the original fraction field or groups are joined.

Declarations

EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues

The literal residue fields and their existing coefficient action.

Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
structure NativeAbsoluteRamificationResidues where
  /-- The original base residue field. -/
  baseResidue : Bundled Field.{u}
  /-- The literal normalization quotient field. -/
  residue : Bundled Field.{w}
  /-- Its actual algebra over the base residue field. -/
  residueAlgebra : Algebra baseResidue.α residue.α
EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues.separableResidue

The relative separable closure inside the stored literal quotient.

Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
namespace NativeAbsoluteRamificationResidues
variable (R : NativeAbsoluteRamificationResidues.{u, w})
def separableResidue : Bundled Field.{w}
EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues.separableResidue_carrier

The stored separable carrier is the existing relative separable closure.

Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
namespace NativeAbsoluteRamificationResidues
variable (R : NativeAbsoluteRamificationResidues.{u, w})
theorem separableResidue_carrier :
    let := R.residueAlgebra
    R.separableResidue.α = separableClosure R.baseResidue.α R.residue.α := by
  intro a
  rfl
EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues.residueAutomorphisms

The actual Galois group of the stored separable residue extension.

Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
namespace NativeAbsoluteRamificationResidues
variable (R : NativeAbsoluteRamificationResidues.{u, w})
def residueAutomorphisms : GrpCat.{w}
EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues.rootsGroup

The full roots group over the SAME stored relative separable closure.

Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
namespace NativeAbsoluteRamificationResidues
variable (R : NativeAbsoluteRamificationResidues.{u, w})
def rootsGroup : GrpCat.{w}
EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues.rootsGroup_topology
Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
namespace NativeAbsoluteRamificationResidues
variable (R : NativeAbsoluteRamificationResidues.{u, w})
instance rootsGroup_topology : TopologicalSpace R.rootsGroup.carrier
EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues.rootsGroup_full

The target is the literal full inverse limit, with no restricted index.

Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
namespace NativeAbsoluteRamificationResidues
variable (R : NativeAbsoluteRamificationResidues.{u, w})
theorem rootsGroup_full :
    R.rootsGroup =
      GrpCat.of (primeToRootsSystem R.baseResidue.α R.separableResidue.α).inverseLimit
EtaleFundamentalGroups.Inertia.NativeAbsoluteRamificationResidues.rootsAction

The coefficient action is the existing separable residue action on every full exponent.

Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
namespace NativeAbsoluteRamificationResidues
variable (R : NativeAbsoluteRamificationResidues.{u, w})
def rootsAction
    (σ : R.residueAutomorphisms.carrier) (x : R.rootsGroup.carrier) :
    R.rootsGroup.carrier
EtaleFundamentalGroups.Inertia.NativeAbsoluteResidueConclusions

Closure and literal full-index conclusions, separated from the original group context.

Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
structure NativeAbsoluteResidueConclusions
    (R : NativeAbsoluteRamificationResidues.{u, w}) : Prop where
  /-- The literal quotient is an algebraic closure of the original residue field. -/
  algebraic_closure : let := R.residueAlgebra; IsAlgClosure R.baseResidue.α R.residue.α
  /-- Its relative separable part is indeed an absolute separable closure. -/
  separable_closure : let := R.residueAlgebra
    IsSepClosure R.baseResidue.α (separableClosure R.baseResidue.α R.residue.α)
  /-- Every displayed index is positive and residue-invertible. -/
  index_positive_invertible : ∀ n : InvertibleExponent R.baseResidue.α,
    0 < n.val ∧ IsUnit (n.val : R.baseResidue.α)
  /-- In positive characteristic the index consists exactly of integers prime to p. -/
  index_coprime : ∀ (p : ℕ) [Fact p.Prime] [CharP R.baseResidue.α p] (n : ℕ),
    IsUnit (n : R.baseResidue.α) ↔ Nat.Coprime n p
  /-- In characteristic zero EVERY positive integer occurs in the full index. -/
  index_char_zero : ∀ [CharZero R.baseResidue.α] (n : ℕ), 0 < n →
    ∃ e : InvertibleExponent R.baseResidue.α, e.val = n
EtaleFundamentalGroups.Inertia.nativeAbsoluteResidueConclusions_of_algebraic_isAlgClosed

Construct every residue conclusion from actual algebraicity and closedness.

Source context 4 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Inertia
open CategoryTheory
universe u w
theorem nativeAbsoluteResidueConclusions_of_algebraic_isAlgClosed
    (R : NativeAbsoluteRamificationResidues.{u, w})
    (hclosed : IsAlgClosed R.residue.α)
    (halgebraic : let := R.residueAlgebra; Algebra.IsAlgebraic R.baseResidue.α R.residue.α) :
    NativeAbsoluteResidueConclusions R where
  algebraic_closure := by
    intro a
    exact ⟨hclosed, halgebraic⟩
  separable_closure := by
    intro a
    have : IsAlgClosed R.residue.α := hclosed
    exact separableClosure.isSepClosure R.baseResidue.α R.residue.α
  index_positive_invertible := fun n => ⟨InvertibleExponent.pos R.baseResidue.α n, n.property⟩
  index_coprime := by
    intro p hp hchar n
    exact (CharP.isUnit_natCast_iff (R := R.baseResidue.α) (p := p)
      (Fact.out : p.Prime)).trans
        ⟨fun hn => ((Fact.out : p.Prime).coprime_iff_not_dvd.mpr hn).symm,
          fun hn => (Fact.out : p.Prime).coprime_iff_not_dvd.mp hn.symm⟩
  index_char_zero := by
    intro hchar n hn
    exact ⟨⟨n, isUnit_iff_ne_zero.mpr (Nat.cast_ne_zero.mpr hn.ne')⟩, rfl⟩