Module

ValueGroup.lean

Nyll.SchemeTheory.AbhyankarLemma.TameRamification.Book.ValueGroup
7 declarations indexed from sourceView source ↗

Book value groups of tame radical extensions

This file supplies the value-group generation source needed for the classical ramification-index form of Abhyankar's lemma. It starts with the group-theory comparison between the order of one value coset and the relative index of the subgroup generated by that value.

Imports28
Imported by3

Declarations

TameAbhyankar.bookValueGroupQuotientAddCommGroup
Source context 4 commands

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

noncomputable section
universe u
namespace TameAbhyankar
open AlgebraicNumberTheory.Valuations
instance bookValueGroupQuotientAddCommGroup
    {K L : Type*} [Field K] [Field L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L) :
    AddCommGroup (ExponentialValueGroupQuotient v w)
TameAbhyankar.bookRamificationIndex_eq_valueSubgroup_relIndex

The book ramification index is the relative index of the source value subgroup in the target value subgroup, both viewed inside ℝ.

Source context 5 commands

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

noncomputable section
universe u
namespace TameAbhyankar
open AlgebraicNumberTheory.Valuations
local instance bookValueGroupQuotientAddCommGroup
    {K L : Type*} [Field K] [Field L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L) :
    AddCommGroup (ExponentialValueGroupQuotient v w) := by
  unfold ExponentialValueGroupQuotient
  infer_instance
theorem bookRamificationIndex_eq_valueSubgroup_relIndex
    {K L : Type u} [Field K] [Field L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L) :
    exponentialRamificationIndex v w =
      (exponentialValueSubgroup v).relIndex
        (exponentialValueSubgroup w)
TameAbhyankar.bookRamificationIndex_pos

The actual value-group ramification index of a finite extension is positive.

Source context 5 commands

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

noncomputable section
universe u
namespace TameAbhyankar
open AlgebraicNumberTheory.Valuations
local instance bookValueGroupQuotientAddCommGroup
    {K L : Type*} [Field K] [Field L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L) :
    AddCommGroup (ExponentialValueGroupQuotient v w) := by
  unfold ExponentialValueGroupQuotient
  infer_instance
theorem bookRamificationIndex_pos
    {K L : Type u} [Field K] [Field L] [Algebra K L]
    [FiniteDimensional K L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L)
    (hExt : ∀ a : K, w (algebraMap K L a) = v a) :
    0 < exponentialRamificationIndex v w
TameAbhyankar.bookExponentialValueSubgroup_eq_of_ramificationIndex_eq_one

Ramification index one means equality of the actual value subgroups.

Source context 5 commands

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

noncomputable section
universe u
namespace TameAbhyankar
open AlgebraicNumberTheory.Valuations
local instance bookValueGroupQuotientAddCommGroup
    {K L : Type*} [Field K] [Field L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L) :
    AddCommGroup (ExponentialValueGroupQuotient v w) := by
  unfold ExponentialValueGroupQuotient
  infer_instance
theorem bookExponentialValueSubgroup_eq_of_ramificationIndex_eq_one
    {K L : Type u} [Field K] [Field L] [Algebra K L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L)
    (hExt : ∀ a : K, w (algebraMap K L a) = v a)
    (he : exponentialRamificationIndex v w = 1) :
    exponentialValueSubgroup w = exponentialValueSubgroup v
TameAbhyankar.relIndex_sup_zmultiples_eq_addOrderOf

Adjoining one additive generator to a subgroup has relative index equal to the additive order of that generator modulo the original subgroup.

Source context 5 commands

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

noncomputable section
universe u
namespace TameAbhyankar
open AlgebraicNumberTheory.Valuations
local instance bookValueGroupQuotientAddCommGroup
    {K L : Type*} [Field K] [Field L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L) :
    AddCommGroup (ExponentialValueGroupQuotient v w) := by
  unfold ExponentialValueGroupQuotient
  infer_instance
theorem relIndex_sup_zmultiples_eq_addOrderOf
    {G : Type u} [AddCommGroup G] (H : AddSubgroup G) (x : G) :
    H.relIndex (H ⊔ AddSubgroup.zmultiples x) =
      addOrderOf (QuotientAddGroup.mk x : G ⧸ H)
TameAbhyankar.bookExponentialValueSubgroup_eq_sup_zmultiples_of_single_radical_of_separableResidue

A single prime-to-the-residue-characteristic radical generates the whole target value group over the base value group. This is the subgroup form of the degree computation in Proposition 7.7.

Source context 5 commands

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

noncomputable section
universe u
namespace TameAbhyankar
open AlgebraicNumberTheory.Valuations
local instance bookValueGroupQuotientAddCommGroup
    {K L : Type*} [Field K] [Field L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L) :
    AddCommGroup (ExponentialValueGroupQuotient v w) := by
  unfold ExponentialValueGroupQuotient
  infer_instance
theorem bookExponentialValueSubgroup_eq_sup_zmultiples_of_single_radical_of_separableResidue
    {K L : Type u} [Field K] [Field L] [Algebra K L]
    [FiniteDimensional K L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L)
    (hExt : ∀ a : K, w (algebraMap K L a) = v a)
    (hhens : ValuationTheory.DiscreteValuationField.HenselianValuationByFactorization
      (LubinTate.Valuations.exponentialValuationSubringAsValuationSubring v).valuation)
    (hp : PositiveResidueCharacteristic v)
    (hresidue : SeparableResidueRootLifts v w hExt)
    (alpha : L) (halpha0 : alpha ≠ 0)
    (hgen : IntermediateField.adjoin K ({alpha} : Set L) = ⊤)
    (m : ℕ) (hmpos : 0 < m)
    (hmcop : Nat.Coprime m (residueCharacteristic v))
    (a : K) (hpow : alpha ^ m = algebraMap K L a) :
    exponentialValueSubgroup w =
      exponentialValueSubgroup v ⊔
        AddSubgroup.zmultiples (w alpha).untop₀
TameAbhyankar.bookExponentialValueSubgroup_eq_sup_zmultiples_of_single_radical

Surjective-residue-field specialization of the single-radical value group generation theorem.

Source context 5 commands

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

noncomputable section
universe u
namespace TameAbhyankar
open AlgebraicNumberTheory.Valuations
local instance bookValueGroupQuotientAddCommGroup
    {K L : Type*} [Field K] [Field L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L) :
    AddCommGroup (ExponentialValueGroupQuotient v w) := by
  unfold ExponentialValueGroupQuotient
  infer_instance
theorem bookExponentialValueSubgroup_eq_sup_zmultiples_of_single_radical
    {K L : Type u} [Field K] [Field L] [Algebra K L]
    [FiniteDimensional K L]
    (v : LubinTate.Valuations.ExponentialValuation K)
    (w : LubinTate.Valuations.ExponentialValuation L)
    (hExt : ∀ a : K, w (algebraMap K L a) = v a)
    (hhens : ValuationTheory.DiscreteValuationField.HenselianValuationByFactorization
      (LubinTate.Valuations.exponentialValuationSubringAsValuationSubring v).valuation)
    (hp : PositiveResidueCharacteristic v)
    (hresidue : Function.Surjective (tameResidueFieldMap v w hExt))
    (alpha : L) (halpha0 : alpha ≠ 0)
    (hgen : IntermediateField.adjoin K ({alpha} : Set L) = ⊤)
    (m : ℕ) (hmpos : 0 < m)
    (hmcop : Nat.Coprime m (residueCharacteristic v))
    (a : K) (hpow : alpha ^ m = algebraMap K L a) :
    exponentialValueSubgroup w =
      exponentialValueSubgroup v ⊔
        AddSubgroup.zmultiples (w alpha).untop₀