Module

Place_ramificationIndex_eq_one_of_forall_dvd_ord.lean

Nyll.AlgebraicCurves.Places.Place_ramificationIndex_eq_one_of_forall_dvd_ord
27 declarations indexed from sourceView source ↗

Place ramification Index eq one of forall dvd ord

Declarations

AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.mem_of_ord_nonneg
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable (v : Place K F)
theorem mem_of_ord_nonneg {f : F} (hf : f ≠ 0) (h : 0 ≤ v.ord f) :
    f ∈ v.toValuationSubring
AlgebraicCurve.Place.isUnit_mk_of_ord_eq_zero
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable (v : Place K F)
theorem _root_.AlgebraicCurve.Place.isUnit_mk_of_ord_eq_zero {f : F} (hf : f ≠ 0) (h :
  v.ord f = 0) :
    IsUnit (⟨f, v.mem_of_ord_nonneg hf h.ge⟩ : v.toValuationSubring)
AlgebraicCurve.Place.residue_ne_zero_of_ord_eq_zero
Source context 12 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable (v : Place K F)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.residue_ne_zero_of_ord_eq_zero {f : F} (hf : f ≠ 0) (h
  : v.ord f = 0) :
    residue v.toValuationSubring (⟨f, v.mem_of_ord_nonneg hf h.ge⟩ : v.toValuationSubring)
      ≠ 0
AlgebraicCurve.Place.evalAt_ne_zero
Source context 13 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable (v : Place K F)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.evalAt_ne_zero (hv : v.IsRational) {f : F} (hf : f ≠
  0) (h : v.ord f = 0) :
    v.evalAt f ≠ 0
AlgebraicCurve.Place.evalAt_algebraMap
Source context 14 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable (v : Place K F)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.evalAt_algebraMap (a : K) : v.evalAt (algebraMap K F
  a) = a
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.forall_pow_ne_mul_pow
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Swap
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} {f : F} {α : L}
theorem forall_pow_ne_mul_pow (hf : ∀ g : F, g ^ p ≠ f) {h : F} (hh : h ≠ 0) :
    ∀ g : F, g ^ p ≠ f * h ^ p
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.mul_algebraMap_pow_eq
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Swap
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} {f : F} {α : L}
theorem mul_algebraMap_pow_eq (hα : α ^ p = algebraMap F L f) (h : F) :
    (α * algebraMap F L h) ^ p = algebraMap F L (f * h ^ p)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.adjoin_mul_algebraMap_eq_top
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Swap
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} {f : F} {α : L}
theorem adjoin_mul_algebraMap_eq_top (htop : F⟮α⟯ = ⊤) {h : F} (hh : h ≠ 0) :
    F⟮α * algebraMap F L h⟯ = ⊤
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.not_mem_range_of_pow_eq
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Swap
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} {f : F} {α : L}
theorem not_mem_range_of_pow_eq (hf : ∀ g : F, g ^ p ≠ f) (hα : α ^ p = algebraMap F L f) :
    α ∉ Set.range (algebraMap F L)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.sub_algebraMap_ne_zero
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Swap
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} {f : F} {α : L}
theorem sub_algebraMap_ne_zero (hf : ∀ g : F, g ^ p ≠ f) (hα : α ^ p = algebraMap F L f)
    (c : F) : α - algebraMap F L c ≠ 0
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.irreducible_X_pow_sub_C
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Pure
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} [hp : Fact p.Prime] {f : F} {α : L}
theorem irreducible_X_pow_sub_C (hf : ∀ g : F, g ^ p ≠ f) : Irreducible (X ^ p - C f)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.ne_zero_of_forall_pow_ne
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Pure
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} [hp : Fact p.Prime] {f : F} {α : L}
theorem ne_zero_of_forall_pow_ne (hf : ∀ g : F, g ^ p ≠ f) : f ≠ 0
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.isIntegral_of_pow_eq
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Pure
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} [hp : Fact p.Prime] {f : F} {α : L}
theorem isIntegral_of_pow_eq (hα : α ^ p = algebraMap F L f) : IsIntegral F α
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.minpoly_eq_of_pow_eq
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Pure
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} [hp : Fact p.Prime] {f : F} {α : L}
theorem minpoly_eq_of_pow_eq (hf : ∀ g : F, g ^ p ≠ f) (hα : α ^ p = algebraMap F L f) :
    minpoly F α = X ^ p - C f
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.norm_root_sub_algebraMap
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section Pure
variable {F L : Type*} [Field F] [Field L] [Algebra F L]
variable {p : ℕ} [hp : Fact p.Prime] {f : F} {α : L}
theorem norm_root_sub_algebraMap (hf : ∀ g : F, g ^ p ≠ f) (hα : α ^ p = algebraMap F L f)
    (htop : F⟮α⟯ = ⊤) (c : F) :
    Algebra.norm F (α - algebraMap F L c) = (-1) ^ p * (c ^ p - f)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.KummerCover.ord_norm_root_sub_algebraMap
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
namespace KummerCover
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
section OrdNorm
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra F L]
variable {p : ℕ} [hp : Fact p.Prime] {f : F} {α : L}
theorem ord_norm_root_sub_algebraMap (v : Place K F) (hf : ∀ g : F, g ^ p ≠ f)
    (hα : α ^ p = algebraMap F L f) (htop : F⟮α⟯ = ⊤) (c : F) :
    v.ord (Algebra.norm F (α - algebraMap F L c)) = v.ord (f - c ^ p)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.ord_le_ord_norm_of_forall_ord_nonneg
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
theorem ord_le_ord_norm_of_forall_ord_nonneg (v : Place K F) {x : L} (hx : x ≠ 0)
    (hnonneg : ∀ w' ∈ v.fiberOver L, 0 ≤ w'.ord x) {w : Place K L} (hw : w ∈ v.fiberOver L) :
    w.ord x ≤ v.ord (Algebra.norm F x)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.ord_le_ord_norm_of_forall_ord_nonneg'
Source context 11 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
theorem ord_le_ord_norm_of_forall_ord_nonneg' {x : L} (hx : x ≠ 0) (w : Place K L)
    (hnonneg : ∀ w' : Place K L, w'.restrict F = w.restrict F → 0 ≤ w'.ord x) :
    w.ord x ≤ (w.restrict F).ord (Algebra.norm F x)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.residue_mk_algebraMap
Source context 14 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
section ResidueGeomSum
open IsLocalRing
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem residue_mk_algebraMap (a : K) :
    residue v.toValuationSubring ⟨algebraMap K F a, v.algebraMap_mem' a⟩
      = algebraMap K v.ResidueField a
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.residue_geom_sum₂_of_residue_eq
Source context 14 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
section ResidueGeomSum
open IsLocalRing
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem residue_geom_sum₂_of_residue_eq {x y : F} (hx : x ∈ v.toValuationSubring)
    (hy : y ∈ v.toValuationSubring) {r : v.ResidueField}
    (hxr : residue v.toValuationSubring ⟨x, hx⟩ = r)
    (hyr : residue v.toValuationSubring ⟨y, hy⟩ = r) (n : ℕ)
    (hS : (∑ j ∈ Finset.range n, x ^ j * y ^ (n - 1 - j)) ∈ v.toValuationSubring) :
    residue v.toValuationSubring ⟨∑ j ∈ Finset.range n, x ^ j * y ^ (n - 1 - j), hS⟩
      = n * r ^ (n - 1)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.exists_ord_mul_pow_eq_zero
Source context 13 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
section Normalize
variable {K F : Type*} [Field K] [Field F] [Algebra K F]
theorem exists_ord_mul_pow_eq_zero (v : Place K F) {p : ℕ} {f : F} (hf0 : f ≠ 0)
    (hord : (p : ℤ) ∣ v.ord f) : ∃ h : F, h ≠ 0 ∧ v.ord (f * h ^ p) = 0
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.ord_eq_zero_of_pow_eq_of_ord_restrict_eq_zero
Source context 13 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
section FibreUnit
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [Algebra.IsIntegral F L]
theorem ord_eq_zero_of_pow_eq_of_ord_restrict_eq_zero (w : Place K L) {p : ℕ} (hp : p ≠ 0)
    {f₁ : F} {β : L} (hβ : β ^ p = algebraMap F L f₁) (h0 : (w.restrict F).ord f₁ = 0) :
    w.ord β = 0
AlgebraicCurve.Place.ord_eq_zero_iff_isUnit
Source context 14 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
section OrdResidueKit
open IsLocalRing
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
theorem _root_.AlgebraicCurve.Place.ord_eq_zero_iff_isUnit {g : F} (hg : g ≠ 0) (hmem : g
  ∈ v.toValuationSubring) :
    v.ord g = 0 ↔ IsUnit (⟨g, hmem⟩ : v.toValuationSubring)
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.ord_eq_zero_of_residue_ne_zero
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
section OrdResidueKit
open IsLocalRing
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
theorem ord_eq_zero_of_residue_ne_zero {g : F} (hg : g ≠ 0) (hmem : g ∈
  v.toValuationSubring)
    (hres : residue v.toValuationSubring ⟨g, hmem⟩ ≠ 0) :
    v.ord g = 0
AlgebraicCurve.Place.one_le_ord_of_residue_eq_zero
Source context 15 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
section OrdResidueKit
open IsLocalRing
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
theorem _root_.AlgebraicCurve.Place.one_le_ord_of_residue_eq_zero {g : F} (hg : g ≠ 0)
  (hmem : g ∈ v.toValuationSubring)
    (hres : residue v.toValuationSubring ⟨g, hmem⟩ = 0) :
    1 ≤ v.ord g
AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place.one_le_ord_sub_evalAt
Source context 16 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
namespace AlgebraicCurve
open _root_.AlgebraicCurve
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg
namespace Place
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place hiding mem_of_ord_nonneg
variable {K F L : Type*} [Field K] [Field F] [Field L] [Algebra K F] [Algebra K L] [Algebra F L]
  [IsScalarTower K F L] [FiniteDimensional F L] [Algebra.IsSeparable F L] [CharZero F]
section OrdResidueKit
open IsLocalRing
variable {K F : Type*} [Field K] [Field F] [Algebra K F] (v : Place K F)
open _root_.AlgebraicCurve.Place
open _root_.AlgebraicCurve.Place
theorem one_le_ord_sub_evalAt (hv : v.IsRational) {f : F} (hf : f ≠ 0) (hord : v.ord f = 0)
    (hfc : f ≠ algebraMap K F (v.evalAt f)) :
    1 ≤ v.ord (f - algebraMap K F (v.evalAt f))
AlgebraicCurve.Place.ramificationIndex_eq_one_of_forall_dvd_ord
Source context 7 commands

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

section ProofImplementation
namespace AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders
open IsLocalRing
open Polynomial IntermediateField
open _root_.AlgebraicCurve hiding Place.mem_of_ord_nonneg in
open _root_.AlgebraicCurve.Place
  hiding mem_of_ord_nonneg in
open
  _root_.AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve
  _root_.AlgebraicCurves.Places.Proofs.PlaceUnramifiedDivisibleOrders.AlgebraicCurve.Place in
theorem _root_.AlgebraicCurve.Place.ramificationIndex_eq_one_of_forall_dvd_ord {K F L : Type*}
  [Field K] [Field F] [Field L]
    [Algebra K F] [Algebra K L] [Algebra F L] [IsScalarTower K F L]
    [FiniteDimensional F L] [Algebra.IsSeparable F L]
    {p : ℕ} [Fact p.Prime] {f : F} {α : L} [CharZero F]
    (hf : ∀ g : F, g ^ p ≠ f)
    (hα : α ^ p = algebraMap F L f) (htop : F⟮α⟯ = ⊤)
    (hord : ∀ v : Place K F, (p : ℤ) ∣ v.ord f)
    (w : Place K L) (hw_rat : w.IsRational) :
    w.ramificationIndex F = 1