The derivative is nonzero in the function field of when has a root
ProvedCurveSymmetry.quad_derivative_ne_zerocurve-symmetry-leanfunction-fieldsgenus
Let be a squarefree polynomial such that is irreducible in , and let be the function field of the double cover , where and denote the classes of and . Let be the derivative of and its image in .
Let with . Then
It allows division by in the regularity criteria at the points over the roots of and, applied to the conjugate cover (whose polynomial vanishes at ), at the place over of the family; in this way it enters the formal proof of the genus clause of Lemma 4 of the note (the normalization of has genus ) and, through the case , of Remark 5.
Formalization Note: the hypotheses that is squarefree and that is irreducible are Fact instances; the root enters only through the hypothesis .
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 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.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)
Formal statement
theorem CurveSymmetry.quad_derivative_ne_zero (hc : h.eval c = 0) :
algebraMap ℂ[X] (QuadField h) h.derivative ≠ 0 := by sorrySource
C. Perassi, Sharp symmetry bounds for real algebraic curves (note): lemma of the formalization, for Lemma 4, pp. 3-4, https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/sharp_symmetry_bounds.pdf. Lean: https://github.com/carlok/curve-symmetry-lean/blob/d99bc17a1c397956c05d7417de50f9beed56580f/lean/HolomorphicDifferentials.lean (C. Perassi)