Chain rule in : for every polynomial
ProvedCurveSymmetry.quad_D_algebraMapcurve-symmetry-leanfunction-fieldskahler-differentials
Let be such that is irreducible in , let , and let be the universal derivation into the Kähler differentials of over . Then for every polynomial , viewed as an element of ,
where is the derivative of .
This chain rule along is used to differentiate the relation and other polynomial expressions in when the differentials of the double cover (7) are computed, for the genus in Lemma 4 and for Remark 5.
Formalization Note: the irreducibility of is a Fact instance.
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 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 TensorProduct variable (h : ℂ[X]) [Fact (Irreducible (quadRat h))]
Formal statement
theorem CurveSymmetry.quad_D_algebraMap (p : ℂ[X]) :
KaehlerDifferential.D ℂ (QuadField h) (algebraMap ℂ[X] (QuadField h) p) =
algebraMap ℂ[X] (QuadField h) p.derivative •
KaehlerDifferential.D ℂ (QuadField h) (quadT h) := 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/QuadraticDifferentials.lean (C. Perassi)