holomorphic-forms (CC1): holomorphic 1-forms and genus #
API summary (see docs/design/holomorphic-forms.md):
- Definition (namespace
RS):RS.Form1 Xis the bundledC^ωsections of the Hom-bundle from the tangent bundle to the trivial line bundle;AddCommGroup/Module ℂinstances are found by typeclass inference. Evaluationη x v : ℂ; extensionalityRS.Form1.ext',RS.Form1.ext_apply,RS.Form1.ext_coeffAt. - Chart-coefficient API (
Coeffs.lean, the project workhorse):RS.coeffIn e η : ℂ → ℂandRS.coeffAt x η : ℂ(junk off the chart target); ℂ-linear inη(RS.coeffIn_add,RS.coeffIn_smul,RS.coeffIn_zero, …, and thecoeffAtcounterparts); transition ruleRS.coeffIn_trans(CC1 orientation:coeffIn e' η z = deriv (e ∘ e'.symm) z * coeffIn e η (e (e'.symm z))fore e'inmaximalAtlas 𝓘(ℂ) ω Xandzin the image of the overlap). - Analyticity (
Analyticity.lean, uses the surfaces-and-chartsContMDiffAt ↔ AnalyticAtbridgeJacobian.Surface.Bridges.contMDiffAt_iff_analyticAt_comp_chartAt):RS.contMDiffAt_section_iff_analyticAt_coeffInFun,RS.Form1.analyticAt_coeffAt,RS.Form1.analyticOnNhd_coeffIn(any maximal-atlas chart),RS.Form1.continuousOn_coeffIn,RS.analyticAt_trans/RS.deriv_trans_comp(transition analyticity and chain rule, reusable). - Constructor (
OfCoeffs.lean):RS.Form1CoeffData X ιpackages a covering family ofω-maximal-atlas charts with analytic, pairwise-compatible coefficient functions;RS.Form1.ofCoeffsassembles the form,RS.Form1.coeffIn_ofCoeffs/RS.Form1.coeffAt_ofCoeffsrecover the given coefficients. - Differential (
MDifferential.lean):RS.mdifferential f hf : RS.Form1 Xforω-smoothf : X → ℂ, withRS.coeffIn_mdifferential : coeffIn e (mdifferential f hf) = deriv (f ∘ e.symm)one.target; ℂ-linearity inf. AlsoRS.Form1.smulFun f hf η(h • ηfor holomorphich) withRS.coeffIn_smulFun. - Planar Montel (
Montel.lean, no manifold imports — cheap forfiniteness-and-chi):RS.montelFamily Ω K C,RS.isCompact_closure_montelFamily,RS.norm_deriv_le_of_bounded(Cauchy estimate). - Finiteness (
Finiteness.lean):RS.GoodCover X(finite doubly-shrunk chart covers, exist on compact T2X:RS.GoodCover.nonempty), the coefficient embeddingRS.GoodCover.JintoΠ i, C(K i, ℂ)and its injectivity, the Montel bound and closedness/compactness of its unit ball, andinstance : FiniteDimensional ℂ (RS.Form1 X)for[T2Space X] [CompactSpace X]. genus(Genus.lean, root level, exactdocs/Jacobian_challenge.leansignature):genus X : ℕ := Module.finrank ℂ (RS.Form1 X), honest by the instance above;genus_eq_zero_iff_subsingleton : genus X = 0 ↔ Subsingleton (RS.Form1 X).
Downstream units use coeffIn/coeffAt and the lemmas above — never raw bundle internals
(Form1 is abbrev-only plumbing).