Repository navigation
chore: sync Tau Ceti 4d91513, Mathlib 2ddf59c and LML, which brings Statlib - #315
Merged
Merged
Conversation
…tatlib Pins: Tau Ceti 4d91513 (main, prebuilt files published), Mathlib 2ddf59c (Tau Ceti's), LML edad3c0 (LeanMachineLearning/LML#298, on the same Mathlib), and Statlib af34969, which LML requires. Repairs: - Mathlib: `EventuallyEqSet` and `EventuallySubset` (mathlib4#45712), `enorm` → `eNorm` and `nnnorm` → `nnNorm` renames, and two more deprecations. - Tau Ceti: `TotalVariation` and `Kernel.Matrix` became directories; `TauCeti.Probability.measurable_bernoulliMeasure` is now `Measurable.bernoulliMeasure`; `TauCeti.lowerSemicontinuous_iInf_of_compactSpace` is now `LowerSemicontinuous.iInf_of_compactSpace`. - LML: its chain rule and kernel modules moved to Statlib. - Duplicates with the new dependencies, found by the axioms audit: remove `EReal.toENNReal_inv` (and `LMLExplore.Data.EReal.Inv`), now Statlib's, and `ProbabilityTheory.Kernel.Invariant.pow`, now Tau Ceti's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0196ftMV379vy48QfzHBVNvo
Statlib comes through LML: list it with the other dependencies (agent instructions, README, overlap scan, CI comments) and give it an `[[upstreams]]` entry in `tauceti.toml`, so that the overlap scan covers it. The sync policy now pins Tau Ceti at a `main` commit whose prebuilt files are published (usually its release tag), and LML and Statlib on the same Mathlib. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0196ftMV379vy48QfzHBVNvo
LML is now pinned at 86a0ab0, the merge of LeanMachineLearning/LML#298 (same tree as the previous pin edad3c0 plus LML's CI and lakefile changes). Two files that landed on main during the sync used names that the new pins change: - `KullbackLeibler/Bernoulli.lean` imported LML's `KullbackLeibler.Convex`, which moved to Statlib: it now imports `Statlib.Divergence.KullbackLeibler.Basic` for `ProbabilityTheory.klDiv_smul_add_smul_le`. - `ExponentialFamily/Bernoulli.lean`: Tau Ceti's `map_withDensity_abs_deriv_mul` no longer takes a measurability hypothesis. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0196ftMV379vy48QfzHBVNvo
RemyDegenne
force-pushed
the
chore/sync-tauceti-2ddf59c
branch
from
November 13, 2026 16:17
e026a45 to
5752655
Compare
RemyDegenne
marked this pull request as ready for review
November 13, 2026 16:18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Dependency sync, outside a Lean release: Tau Ceti and Mathlib move to Tau Ceti's current
main, and LML moves to a commit on the same Mathlib that requires Statlib. The toolchain staysv4.36.0-rc2.Roadmap: none
Pins
e0610cc(tagv4.36.0-rc2)4d91513(main, CI green, prebuilt files published)1b1ccf42ddf59c(Tau Ceti's pin)efbe5d286a0ab0(main, the merge of LeanMachineLearning/LML#298)af34969Batteries and import-graph move with Mathlib, to Tau Ceti's pins.
subversostays at Verso's892d6dc.Repairs
EventuallyEqSet/EventuallySubsetrefactor ([Merged by Bors] - refactor: change the definition ofEventuallyEqSetleanprover-community/mathlib4#45712), theenorm→eNormandnnnorm→nnNormrenames,Submodule.isClosed_of_finiteDimensional,FiniteDimensional.completeSpace, and one section variable no longer used. I listed every deprecation added between the two Mathlib pins and fixed every use of them in LMLExplore.TauCeti.MeasureTheory.Measure.TotalVariationandTauCeti.Probability.Kernel.Matrixbecame directories (theirBasicfiles are now imported).TauCeti.Probability.measurable_bernoulliMeasureis nowMeasurable.bernoulliMeasure, andTauCeti.lowerSemicontinuous_iInf_of_compactSpaceis nowLowerSemicontinuous.iInf_of_compactSpace.TauCeti.MeasureTheory.map_withDensity_abs_deriv_mulno longer takes a measurability hypothesis (its use inExponentialFamily/Bernoulli.leandrops it). I checked every Tau Ceti declaration removed between the two pins against LMLExplore.ChainRule,Convexand kernelMeasurableSpacemodules moved to Statlib. The two LMLExplore files that importedChainRulenow import Statlib's, andKullbackLeibler/Bernoulli.leanimportsStatlib.Divergence.KullbackLeibler.BasicforProbabilityTheory.klDiv_smul_add_smul_leinstead of LML'sConvex.DivergenceDecompositionuses Statlib'smeasurable_klDivandcondKL_eq_lintegral.Removed declarations
The axioms audit found two duplicates with the new dependencies:
EReal.toENNReal_inv, with its moduleLMLExplore.Data.EReal.InvEReal.toENNReal_invinStatlib.ForMathlib.ERealProbabilityTheory.Kernel.Invariant.powTauCeti.Probability.Kernel.Composition.Power, whichLMLExplore.Probability.Kernel.Composition.Compnow importsHuman-owned changes (second commit)
tauceti.toml: an[[upstreams]]entry for Statlib (update = false,overlap = true,upstream_destination = false).AGENTS.md(.claude/CLAUDE.md),README.md,scripts/overlap/,ci.ymlandreferee-site.yml: Statlib is listed with the other dependencies.README.md,lakefile.tomlandtauceti.toml: new sync policy, for a maintainer to confirm. Tau Ceti is pinned at amaincommit whose prebuilt files are published (usually its release tag), instead of only at Lean releases that both Tau Ceti and LML have tagged. LML is pinned at a commit on the same Mathlib, and Statlib at the commit LML pins.Checks run locally
Rebased onto
mainatd4a9f81, after the LML pin moved to the merge commit:scripts/build.sh --iofailpasses, so no warnings anywhere, dependencies included.lake exe axiomspasses: no duplicate declarations across 343 LMLExplore modules and 5571 dependency modules, and every axiom is within the allowlist.lake exe module-systempasses.#lint in LMLExplorepasses over all modules.As for every sync, PR CI cannot build this change (the lakefile and pins change), so it needs an admin merge.
After the merge
Run the overlap scan. Statlib has no previous pin, so pass
--old Statlib=02a43cdf8d9cbdeaf82e2062d8556476baab22bb(its first commit). Known overlaps for it to report:Kernel/Composition/Power.leanalso has the Markov and s-finite instances for powers andone_def(Comp.lean'sone_eq_id).lintegral_bernoulliMeasureandbernoulliMeasure_absolutelyContinuous(LMLExplore's version of the latter is more general).🤖 Generated with Claude Code
https://claude.ai/code/session_0196ftMV379vy48QfzHBVNvo