Documentation

LeanPool.JacobianDiffgeo.JacobianConstruction

jacobian-construction (CC9): the Jacobian type, its scaffolding, and ofCurve #

API summary (see docs/design/jacobian-construction.md). Owner of CC9 (docs/design/core-choices.md). Builds the challenge's Jacobian type (docs/Jacobian_challenge.lean:58-96) via Jac₀ X := (Fin (genus X) → ℂ) ⧸ Λ.topologicalClosure (Type 0) wrapped in a ULift shell to match the challenge's universe-polymorphic signature, and assembles every instance/definition available with no input from period-lattice-rank, plus the gated instances/theorems that become available the moment period-lattice-rank supplies discreteness (and, for compactness, full rank) of the period subgroup.

File plan #

Instance/definition ledger (ground truth; mirrors Basic.lean's docstring) #

Built now, no hypotheses beyond the standing Riemann-surface ones: AddCommGroup (Jacobian X), TopologicalSpace (Jacobian X), T2Space (Jacobian X) (every genus, including g = 0 — no discreteness needed), Jacobian.ofCurve, Jacobian.ofCurve_eq_of_path, Jacobian.ofCurve_self.

Built now, but the statement itself needs [DiscreteTopology (periodSubgroup X).topologicalClosure] to typecheck (its codomain's manifold structure is gated — see below), so it is stated with that extra hypothesis rather than at the challenge's bare signature: Jacobian.ofCurve_contMDiff, Jacobian.inducedHom, Jacobian.contMDiff_inducedHom.

Gated (typeclass hypotheses, not sorries — become instance-available automatically once period-lattice-rank registers the hypotheses as instances for the real period subgroup): Jacobian.instChartedSpace/instIsManifold/instLieAddGroup need [DiscreteTopology (periodSubgroup X).topologicalClosure]; Jacobian.instCompactSpace additionally needs [IsZLattice ℝ (periodSubgroup X).topologicalClosure.toIntSubmodule].

Not this unit's job (per the design doc and blueprint): genus_eq_zero_iff_homeo, Jacobian.ofCurve_inj (abel-theorem, needs g ≥ 1), ContMDiff.degree, Jacobian.pushforward_pullback, and — a genuine blueprint gap flagged for the orchestrator — the construction of the actual linear map T underlying pushforward/ pullback for a real holomorphic f : X → Y (needs "pullback of holomorphic 1-forms along a holomorphic map", which no unit in the 30-unit blueprint currently owns; natural candidates: abel-theorem, since it already needs period-naturality for its two-point argument, or a final-assembly addendum).