Places of containing are the points of , bijectively
ProvedCurveSymmetry.family_finite_place_classificationcurve-symmetry-leanfunction-fieldsvaluation-theory
Let be an integer and with (that is, is not real), and let . Let and , mapped into by sending to the class of . For with , let be the kernel of the evaluation , , and let be the local ring of the point . Then:
- for all with , and contains ;
- every valuation subring of with and equals for some with ;
- if , and , then and .
Hence
is the function field of in the form of the double cover (7) from the proof of Lemma 4; the statement lists its places over the finite -line, one for each point of the affine curve .
Formalization Note: and are Fact instances, from which the squarefreeness of and the irreducibility of , needed to build , are obtained.
Preamble
import Definitions.Def_CurveSymmetry_01_RealLoci import Definitions.Def_CurveSymmetry_02_FamilyBasics import Definitions.Def_CurveSymmetry_03_IsometriesAndCharts import Definitions.Def_CurveSymmetry_05_FamilyFunctionField import Definitions.Def_CurveSymmetry_06_QuadraticRing import Definitions.Def_CurveSymmetry_07_Places import Mathlib.Algebra.MvPolynomial.Nilpotent import Mathlib.Algebra.MvPolynomial.NoZeroDivisors import Mathlib.Algebra.MvPolynomial.PDeriv import Mathlib.Algebra.Polynomial.FieldDivision import Mathlib.Algebra.Polynomial.Reverse import Mathlib.Algebra.Polynomial.SpecificDegree import Mathlib.Analysis.Complex.Isometry import Mathlib.Analysis.Complex.OperatorNorm import Mathlib.Analysis.Complex.Polynomial.Basic import Mathlib.Analysis.Normed.Affine.MazurUlam import Mathlib.Data.Complex.Basic import Mathlib.FieldTheory.RatFunc.Basic import Mathlib.FieldTheory.Separable import Mathlib.RingTheory.AdjoinRoot import Mathlib.RingTheory.DedekindDomain.Dvr import Mathlib.RingTheory.DiscreteValuationRing.TFAE import Mathlib.RingTheory.Localization.AsSubring import Mathlib.RingTheory.MvPolynomial.Homogeneous import Mathlib.RingTheory.MvPolynomial.IrreducibleQuadratic import Mathlib.RingTheory.Polynomial.Eisenstein.Criterion import Mathlib.RingTheory.Polynomial.GaussLemma import Mathlib.RingTheory.RootsOfUnity.Complex import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots import Mathlib.RingTheory.Valuation.ValuationSubring import Mathlib.Tactic open CurveSymmetry set_option autoImplicit false open Polynomial
Formal statement
theorem CurveSymmetry.family_finite_place_classification {m : ℕ} {α : ℂ} [Fact (0 < m)]
[Fact (α ≠ star α)] :
(∀ (c d : ℂ) (hd : d ^ 2 = (familyH m α).eval c), quadPlace (familyH m α) c d hd ≠ ⊤ ∧
∀ p : ℂ[X], algebraMap ℂ[X] (QuadField (familyH m α)) p ∈
quadPlace (familyH m α) c d hd) ∧
(∀ O : ValuationSubring (QuadField (familyH m α)), O ≠ ⊤ →
(∀ p : ℂ[X], algebraMap ℂ[X] (QuadField (familyH m α)) p ∈ O) →
∃ (c d : ℂ) (hd : d ^ 2 = (familyH m α).eval c), O = quadPlace (familyH m α) c d hd) ∧
(∀ (c d c' d' : ℂ) (hd : d ^ 2 = (familyH m α).eval c)
(hd' : d' ^ 2 = (familyH m α).eval c'),
quadPlace (familyH m α) c d hd = quadPlace (familyH m α) c' d' hd' → c = c' ∧ d = d') := by sorrySource
C. Perassi, Sharp symmetry bounds for real algebraic curves (note): lemma of the formalization, for proof of Lemma 4, equation (7), p. 3, https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/sharp_symmetry_bounds.pdf. Lean: https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/lean/QuadraticPlaces.lean (C. Perassi)