feat(ModularCurves): producer merge — integral Drinfeld Γ₁(N) functor sorry-free (★★) + Γ_H quotient engine + Hopf–Galois chart inputs - #5680
Conversation
Verification: was RED, now GREEN — ready for merge-goAt open, this branch had a 2-red cascade at committed state (not sibling WIP — both files were clean in
Root cause: STREAM-GH's GHB5a work changed the free-action hypothesis order to Clean-room result at The remaining WIP Held for your merge-go (coordinator opens + verifies; owner merges — the #5256 precedent). A follow-up cleanup ticket to unify the free-action hypothesis order project-wide will be filed once these files land on |
…modular-curves Brings in the codex campaign's PoleSheaf + Picard layer (~408 codex-only .lean files, including 67 `PoleSheaf*` and 38 `Picard/*` that dev lacked): the relative Riemann-Roch monomial-basis calculus for `π_*𝒪(n·D_0)`, its base-change compatibility, H¹ of the pole sheaves, invertible-sheaf cocycle descent/effectivity, and `f^*(M^∨) ≅ (f^*M)^∨`. Motivation (see the [GAP-A] board section): those are exactly the missing inputs for GAP-A-1 (the chart-local theorem-of-the-square identity needs to know `ℓ` is a section of `𝒪(3D_0)` and `v` one of `𝒪(2D_0)`) and, via the H¹ files, possibly for a genuine reduced seesaw — which would make the universal-pair detour unnecessary. Landing it first so that calculus is not re-proved by hand. Only three conflicts: * `ModularCurves.lean` — union of the two import lists (188 modules). * `.mathlib-quality/tickets.md` — union. * `Picard/PicComparison.lean` — resolved to codex's version, which relocates `ev`/`evalSection`/`overSection` to the new `Picard/Evaluation.lean` and `isIso_of_isIso_restrict`/`sheafificationW_of_bijective_on_cover` to `Picard/InvertibleSheaf.lean`, then re-adds the five declarations codex does not have: `isIso_of_bijective_app_on_cover` (dev-only, consumed by `GlueTrivialization`) and this session's `toSkeleton_tensorObj_eq`, `toSkeleton_unitObj`, `nonempty_iso_of_tensorObj_right_cancel`, `nonempty_iso_of_tensorObj_unitObj`. NOT yet verified: that the merged tree builds, or that the codex results are axiom-clean. Both are the next step. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… root target
* `Picard/PicComparison`, `ForMathlib/{FlasqueCohomology,TotalComplexUpNatVerticalEdge,TopCatSheafRestrict}`
get the file-level transparency triple; that cleared 12 of the 15 failures.
* the residue was the usual shape: three `rfl`/`congr` closers the preceding steps now
subsume, and one whisker-exchange step whose two sides differ only by associativity
(`simpa only [Category.assoc]` on both rather than a hand-built `Eq.trans` chain).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… green Transparency triple, plus `topSectionHom_app_top_apply_one` rephrased on `M.presheaf` rather than `M.val`: the restriction is along the identity of `⊤`, and on `M.val` functoriality drags in a `ModuleCat.restrictScalarsId'App` coherence term that `simp` then cannot close. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…— options + note Transparency triple clears three of its four failures. The fourth is a `change` into `equiv₀`-shape that no longer type-checks, because `simp [HZeroGlobalSectionsIso]` now leaves `ΓNatIsoSheafSections` explicit instead of folded into `equiv₀`. Left as codex wrote it with a note: the file is a dead end — nothing imports it and it is not in the root index, so it blocks nothing. This is the ONLY failure in the merged tree. Root target: 9311 jobs green. All 345 root-orphaned modules: green except this one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…re-scope note The three results GAP-A-1 was blocked on are present and axiom-clean in the merged tree: the degree-4/5/6 monomial bases for `π_*𝒪(n·D_0)`, `H¹` vanishing for the pole sheaves on a projective Weierstrass model, and codex's own `FibrewiseElliptic → LocallyWeierstrass`. Two consequences boarded: the chart identity can now be proved inside the pole-sheaf filtration rather than by hand, and — since `H¹` vanishing is available — the universal-pair detour should be re-scoped before anyone implements it, because the reason for it (no cohomology-and-base-change, hence no seesaw over a non-reduced base) has weakened. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Whole-branch producer merge per the v10.172 cadence (dev/modular-curves, verification pinned at fd1a8ec).
Headline (axiom-clean {propext, Classical.choice, Quot.sound}, per-module attested by stream workers)
gammaOneDrinfeldProblem— the integral Drinfeld [Γ₁(N)] moduli functor, sorry-free (no invertibility of N): exact-order transporthasExactOrder_pullSection, the T-E4a transport chain de-sorried, the KM 5.3.4 binomial coreCharP.p_eq_zero_of_pow_mem_span,isGammaOne_pullAlong,torsionIdeal_baseChange+sectionsDivisor_baseChange.exists_quotient_baseChange_of_free(KM 7.1.3(3c), full ∃!) on the GHB5a engine; GHC1 (corrected T-H4) and GHC3 (Loeffler Fact 3.8.1) as theorems;RelRepData.pullback/comparisonIsolayers.GroupScheme/StableChartData.lean), incl. the generalsurjective_hom_of_isClosedImmersion_specMap(ForMathlib-worthy) andModule.Finite baseRing groupRing.QuotientLiftmorphism descent +PullSectionCanonicitytransport layers.WIP markers
main tolerates
sorryas explicit WIP markers (CLAUDE.md); this branch carries the producers' current frontier sorries (e.g.chartPrecursorSpec_isClosedImmersion, the DrinfeldRegularity W2 leaf). The cleanup fleet only ever touches sorry-free declarations.Verification / merge gate
No PR CI on this repo — a coordinator clean-room build (
lake build ModularCurvesin a detached worktree at fd1a8ec) is running. Hold merge until the green result is commented here.🤖 Generated with Claude Code