Differentiating : in the function field of a Kummer cover
ProvedCurveSymmetry.kummer_D_rootcurve-symmetry-leanfunction-fieldskummer-theory
Let be a natural number and a polynomial such that is irreducible over . Let be the function field of the Kummer cover of the -line, with the class of , so that . Let be its module of Kähler differentials, with universal derivation , and let be the derivative of .
Then, in ,
where the integer is viewed as an element of .
In the check of Remark 5 the quartic , which is in the coordinates , , is treated as the Kummer cover . This relation is used to test the regularity of differentials at the points where vanishes, in the computation of the genus three of that quartic.
Formalization Note: the irreducibility of over is a Fact instance; it forces , so the exponent (truncated subtraction in Lean) has its usual meaning.
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_08_Differentials 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.FiniteDimensional.Defs import Mathlib.LinearAlgebra.TensorProduct.Basis import Mathlib.RingTheory.AdjoinRoot import Mathlib.RingTheory.Etale.Field import Mathlib.RingTheory.Etale.Kaehler import Mathlib.RingTheory.Kaehler.Polynomial 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.Tactic open CurveSymmetry set_option autoImplicit false open Polynomial variable (n : ℕ) (f : ℂ[X]) [Fact (Irreducible (kummerRat n f))]
Formal statement
theorem CurveSymmetry.kummer_D_root :
((n : KummerField n f) * AdjoinRoot.root (kummerRat n f) ^ (n - 1)) •
KaehlerDifferential.D ℂ (KummerField n f) (AdjoinRoot.root (kummerRat n f)) =
algebraMap ℂ[X] (KummerField n f) f.derivative •
KaehlerDifferential.D ℂ (KummerField n f) (kummerX n f) := by sorrySource
C. Perassi, Sharp symmetry bounds for real algebraic curves (note): lemma of the formalization, for Remark 5, p. 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/KummerField.lean (C. Perassi)