Module

existsUnique_valuationSubring_of_pow_eq_mul.lean

Nyll.AlgebraicCurves.Valuations.existsUnique_valuationSubring_of_pow_eq_mul
2 declarations indexed from sourceView source ↗

exists Unique valuation Subring of pow eq mul

Imports76
  • Batteries.Tactic.Init
  • Mathlib.Algebra.Algebra.Defs
  • Mathlib.Algebra.Algebra.Subalgebra.Basic
  • Mathlib.Algebra.Algebra.Tower
  • Mathlib.Algebra.BigOperators.Group.Finset.Basic
  • Mathlib.Algebra.BigOperators.Group.Finset.Defs
  • Mathlib.Algebra.BigOperators.Group.Multiset.Defs
  • Mathlib.Algebra.Divisibility.Basic
  • Mathlib.Algebra.Group.Action.Defs
  • Mathlib.Algebra.Group.Units.Defs
  • Mathlib.Algebra.GroupWithZero.Associated
  • Mathlib.Algebra.GroupWithZero.Basic
  • Mathlib.Algebra.GroupWithZero.Units.Basic
  • Mathlib.Algebra.GroupWithZero.Units.Lemmas
  • Mathlib.Algebra.Module.Torsion.Free
  • Mathlib.Algebra.Order.BigOperators.Group.Finset
  • Mathlib.Algebra.Order.Group.Multiset
  • Mathlib.Algebra.Prime.Defs
  • Mathlib.Algebra.Ring.Equiv
  • Mathlib.Algebra.Ring.Subsemiring.Basic
  • Mathlib.Data.Finset.Card
  • Mathlib.Data.Finset.Empty
  • Mathlib.Data.Finset.Insert
  • Mathlib.Data.Fintype.Defs
  • Mathlib.Data.Multiset.Count
  • Mathlib.Data.Multiset.Replicate
  • Mathlib.Data.Set.Image
  • Mathlib.Data.Set.Insert
  • Mathlib.FieldTheory.Separable
  • Mathlib.LinearAlgebra.Dimension.Finite
  • Mathlib.LinearAlgebra.Dimension.Finrank
  • Mathlib.LinearAlgebra.Dimension.Localization
  • Mathlib.LinearAlgebra.FiniteDimensional.Basic
  • Mathlib.LinearAlgebra.FiniteDimensional.Defs
  • Mathlib.NumberTheory.RamificationInertia.Ramification
  • Mathlib.RingTheory.DedekindDomain.Basic
  • Mathlib.RingTheory.DedekindDomain.Dvr
  • Mathlib.RingTheory.DedekindDomain.Ideal.Basic
  • Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
  • Mathlib.RingTheory.DedekindDomain.IntegralClosure
  • Mathlib.RingTheory.DiscreteValuationRing.Basic
  • Mathlib.RingTheory.Flat.TorsionFree
  • Mathlib.RingTheory.Ideal.Defs
  • Mathlib.RingTheory.Ideal.Lattice
  • Mathlib.RingTheory.Ideal.Maps
  • Mathlib.RingTheory.Ideal.Nonunits
  • Mathlib.RingTheory.Ideal.Operations
  • Mathlib.RingTheory.Ideal.Over
  • Mathlib.RingTheory.Ideal.Quotient.Basic
  • Mathlib.RingTheory.Ideal.Quotient.Defs
  • Mathlib.RingTheory.Ideal.Span
  • Mathlib.RingTheory.IntegralClosure.Algebra.Basic
  • Mathlib.RingTheory.IntegralClosure.IntegrallyClosed
  • Mathlib.RingTheory.IntegralClosure.IsIntegral.Basic
  • Mathlib.RingTheory.IntegralClosure.IsIntegral.Defs
  • Mathlib.RingTheory.IntegralClosure.IsIntegralClosure.Basic
  • Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic
  • Mathlib.RingTheory.Localization.AtPrime.Basic
  • Mathlib.RingTheory.Localization.Defs
  • Mathlib.RingTheory.Localization.FractionRing
  • Mathlib.RingTheory.Localization.Integral
  • Mathlib.RingTheory.Localization.LocalizationLocalization
  • Mathlib.RingTheory.PrincipalIdealDomain
  • Mathlib.RingTheory.RamificationInertia.Basic
  • Mathlib.RingTheory.RamificationInertia.Inertia
  • Mathlib.RingTheory.RamificationInertia.Ramification
  • Mathlib.RingTheory.SimpleRing.Basic
  • Mathlib.RingTheory.UniqueFactorizationDomain.NormalizedFactors
  • Mathlib.RingTheory.Valuation.Integers
  • Mathlib.RingTheory.Valuation.LocalSubring
  • Mathlib.RingTheory.Valuation.ValuationRing
  • Mathlib.RingTheory.Valuation.ValuationSubring
  • Mathlib.Tactic.Linarith.Frontend
  • Mathlib.Tactic.LinearCombination
  • Mathlib.Tactic.Push
  • Mathlib.Tactic.Ring.RingNF
Imported by2

Declarations

AlgebraicCurves.Valuations.Proofs.existsUnique_valuationSubring_of_pow_eq_mul.integralClosure_existsUnique_primesOver_of_pow_eq_mul
Source context 3 commands

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

section ProofImplementation
namespace AlgebraicCurves.Valuations.Proofs.existsUnique_valuationSubring_of_pow_eq_mul
open IsLocalRing Module
theorem integralClosure_existsUnique_primesOver_of_pow_eq_mul
    (R : Type*) [CommRing R] [IsDomain R] [IsDiscreteValuationRing R]
    (K : Type*) [Field K] [Algebra R K] [IsFractionRing R K]
    (L : Type*) [Field L] [Algebra K L] [FiniteDimensional K L] [Algebra.IsSeparable K L]
    [Algebra R L] [IsScalarTower R K L]
    (n : ℕ) (hn0 : 0 < n) (hn : finrank K L ≤ n)
    (π : R) (hπ : Irreducible π) (u v : L) (huv : u * v = 1) (hu : IsIntegral R u) (hv : IsIntegral
      R v)
    (ϖ : L) (hϖ : ϖ ^ n = algebraMap R L π * u) :
    finrank K L = n ∧
    ∃ P : Ideal ↥(integralClosure R L), P.IsMaximal ∧
      (maximalIdeal R).primesOver ↥(integralClosure R L) = {P} ∧
      Ideal.ramificationIdx' (maximalIdeal R) P = n ∧
      P.inertiaDeg R = 1
Source context 3 commands

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

section ProofImplementation
namespace AlgebraicCurves.Valuations.Proofs.existsUnique_valuationSubring_of_pow_eq_mul
open IsLocalRing Module
theorem _root_.existsUnique_valuationSubring_of_pow_eq_mul
    (R : Type*) [CommRing R] [IsDomain R] [IsDiscreteValuationRing R]
    (K : Type*) [Field K] [Algebra R K] [IsFractionRing R K]
    (L : Type*) [Field L] [Algebra K L] [FiniteDimensional K L] [Algebra.IsSeparable K L]
    [Algebra R L] [IsScalarTower R K L]
    (n : ℕ) (hn0 : 0 < n) (hn : finrank K L ≤ n)
    (π : R) (hπ : Irreducible π) (u v : L) (huv : u * v = 1) (hu : IsIntegral R u) (hv : IsIntegral
      R v)
    (ϖ : L) (hϖ : ϖ ^ n = algebraMap R L π * u) :
    finrank K L = n ∧
    ∃ (W : ValuationSubring L) (hRW : ∀ r : R, algebraMap R L r ∈ W),
      (∀ r ∈ maximalIdeal R, (⟨algebraMap R L r, hRW r⟩ : ↥W) ∈ maximalIdeal ↥W) ∧
      IsDiscreteValuationRing ↥W ∧
      (∃ hϖW : ϖ ∈ W, maximalIdeal ↥W = Ideal.span {(⟨ϖ, hϖW⟩ : ↥W)}) ∧
      (∀ w : ↥W, ∃ r : R, w - ⟨algebraMap R L r, hRW r⟩ ∈ maximalIdeal ↥W) ∧
      (∀ k : K, algebraMap K L k ∈ W ↔ ∃ r : R, algebraMap R K r = k) ∧
      (∀ (W' : ValuationSubring L) (hRW' : ∀ r : R, algebraMap R L r ∈ W'),
        (∀ r ∈ maximalIdeal R, (⟨algebraMap R L r, hRW' r⟩ : ↥W') ∈ maximalIdeal ↥W') → W' = W)