At a point of the double cover , intrinsic regularity agrees with the uniformizer criterion
ProvedCurveSymmetry.mem_regularAt_quadPlace_iffLet be a squarefree polynomial such that is irreducible over . Let , with the class of , so that , and let be its module of Kähler differentials, with universal derivation . Fix a point with , and let be the local ring at of the affine curve , that is, the localization of at the maximal ideal of , viewed inside ; let be its maximal ideal. This ring is a valuation ring of , the place of at . Write for the space of -linear combinations of differentials with .
Then, for every ,
The right-hand side is the explicit criterion: the coefficient of against any uniformizer lies in the local ring.
For the double cover of the family, this is used to identify the intrinsically defined holomorphic differentials with the explicitly computed ones, and hence to obtain the genus of the function field of the curve : genus in Lemma 4, genus two for in Remark 5.
Formalization Note: the place is a ValuationSubring with the same elements as the local ring, which is a subalgebra of . The squarefreeness of and the irreducibility of are Fact instances.
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 Definitions.Def_CurveSymmetry_08_Differentials import Definitions.Def_CurveSymmetry_09_Genus import Definitions.Def_CurveSymmetry_10_KummerField 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.LinearAlgebra.Basis.Basic import Mathlib.LinearAlgebra.Dimension.Finrank import Mathlib.LinearAlgebra.FiniteDimensional.Defs import Mathlib.LinearAlgebra.TensorProduct.Basis import Mathlib.RingTheory.AdjoinRoot import Mathlib.RingTheory.DedekindDomain.Dvr import Mathlib.RingTheory.DiscreteValuationRing.TFAE import Mathlib.RingTheory.Etale.Field import Mathlib.RingTheory.Etale.Kaehler import Mathlib.RingTheory.Kaehler.Basic import Mathlib.RingTheory.Kaehler.Polynomial import Mathlib.RingTheory.LocalRing.MaximalIdeal.Basic import Mathlib.RingTheory.LocalRing.Module import Mathlib.RingTheory.Localization.AsSubring import Mathlib.RingTheory.MvPolynomial.Homogeneous import Mathlib.RingTheory.MvPolynomial.IrreducibleQuadratic import Mathlib.RingTheory.Nakayama import Mathlib.RingTheory.Polynomial.Eisenstein.Criterion import Mathlib.RingTheory.Polynomial.GaussLemma import Mathlib.RingTheory.RootsOfUnity.Complex import Mathlib.RingTheory.RootsOfUnity.PrimitiveRoots import Mathlib.RingTheory.Spectrum.Maximal.Localization import Mathlib.RingTheory.Valuation.ValuationSubring import Mathlib.Tactic open CurveSymmetry set_option autoImplicit false open Polynomial variable (h : ℂ[X]) [Fact (Squarefree h)] [Fact (Irreducible (quadRat h))] (c d : ℂ) (hd : d ^ 2 = h.eval c)
theorem CurveSymmetry.mem_regularAt_quadPlace_iff (ω : Ω[QuadField h⁄ℂ]) :
ω ∈ regularAt (quadPlace h c d hd) ↔ IsRegularAt h c d hd ω := by sorry