The holomorphic differentials of are spanned by ,
ProvedCurveSymmetry.holomorphicDifferentials_eq_spanLet be an integer and with . Put and let , with the class of , so that ; this is the function field of the double cover of the -line in equation (7) of the note, written with . Let be its module of Kähler differentials, with universal derivation . For a point of the affine curve , that is, with , let be its local ring: the localization of at the maximal ideal of , viewed inside .
For the conjugate parameter, is built in the same way, with coordinate and root , where . Since , the point lies on the curve ; let be its local ring there. Let be the isomorphism of -algebras with and (the chart at ), and let be the induced map, .
A differential is regular at a point if whenever generates the maximal ideal of and with . It is regular at infinity if is regular, in the same sense, at the point of . It is holomorphic if it is regular at every point of and at infinity. The holomorphic differentials form a complex vector subspace .
Then
With the linear independence of these differentials, they form a basis of . This explicit basis, rather than the Riemann–Hurwitz count used in the note's proof, is how the formalization obtains the genus in Lemma 4.
Formalization Note: the hypotheses and are Fact instances; is not assumed.
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 {m : ℕ} {α : ℂ} [hm : Fact (0 < m)] [ha : Fact (α ≠ star α)]theorem CurveSymmetry.holomorphicDifferentials_eq_span :
holomorphicDifferentials m α =
Submodule.span ℂ (Set.range fun i : Fin m => holoBasisVec m α i) := by sorry