Regularity of at every finite point of gives with polynomials
ProvedCurveSymmetry.quad_regular_points_coeffLet 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 . For a point with , let be the local ring at of the affine curve , that is, the localization of at the maximal ideal of , viewed inside . A differential is regular at if whenever generates the maximal ideal of and with .
Let be such that is regular at every point with . Then there are polynomials such that
No condition at infinity is involved. For , the double cover of the family, this is a step towards the description of the holomorphic differentials behind the genus clause of Lemma 4: combined with the condition at the place over , it shows that every holomorphic has with .
Formalization Note: the squarefreeness of and the irreducibility of over 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 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.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))]
theorem CurveSymmetry.quad_regular_points_coeff (f : QuadField h)
(hreg : ∀ (c d : ℂ) (hd : d ^ 2 = h.eval c),
IsRegularAt h c d hd (f • KaehlerDifferential.D ℂ (QuadField h) (quadT h))) :
∃ a b : ℂ[X], f * AdjoinRoot.root (quadRat h) =
algebraMap ℂ[X] (QuadField h) a +
algebraMap ℂ[X] (QuadField h) b * AdjoinRoot.root (quadRat h) := by sorry