Documentation

LeanPool.JacobianDiffgeo.Challenge

Jacobians — the assembled challenge API #

Final assembly of Kevin Buzzard's AI challenge docs/Jacobian_challenge.lean (v0.4): every placeholder of the gist is discharged by the development under Jacobian/, with zero axioms beyond propext/Classical.choice/Quot.sound.

Most gist declarations already live at their gist names (root level / Jacobian namespace) inside the units that built them; this file adds ONLY what was still missing — the root-level Jacobian.pushforward/Jacobian.pullback functorial API (the built maps live at RS.Jacobian.*) — and closes with a self-auditing GistCheck section containing one witness per gist item.

Item-by-item map (gist declaration → providing declaration) #

Universe convention (the one deviation from the gist's variable blocks) #

The gist declares {X Y Z : Type*} — three independent universes. Jacobian X is the ULift shell around a Type 0 quotient, and the underlying Jacobian.inducedHom substrate demands both surfaces in ONE Type u: instantiating any Jacobian X-to-Jacobian Y declaration at distinct universes does not fail cleanly but sends the elaborator into a ULift/quotient defeq grind (deterministic heartbeat timeout — documented in Jacobian/JacFunctorial.lean's LEDGER and re-verified during this assembly). The functorial declarations below therefore state their surfaces in a single shared universe u. This only restricts universes; every statement is otherwise the gist's, and the (overwhelmingly common) same-universe uses — including everything in Type 0 — elaborate verbatim.

The pushforward map between Jacobians associated to a map of the underlying curves.

Equations
Instances For

    Pullback map between Jacobians associated to a map of the underlying curves. Equal to the zero map if the map on curves is constant.

    Equations
    Instances For

      GistCheck — self-audit #

      One witness per declaration of docs/Jacobian_challenge.lean, each stated in the gist's own shape and discharged by the providing declaration. Single-surface items use the gist's Type* variables verbatim; the multi-surface functorial items share one universe (see the module docstring).