Skip to content

fix: mathlib4 breakage from nightly-2026-09-03 - #40

Merged
TwoFX merged 1 commit into
masterfrom
push-pzpprovousxw
Sep 4, 2026
Merged

fix: mathlib4 breakage from nightly-2026-09-03#40
TwoFX merged 1 commit into
masterfrom
push-pzpprovousxw

Conversation

@Kha

@Kha Kha commented Sep 4, 2026

Copy link
Copy Markdown
Member

Fixes the mathlib4 half of the red run 33829572992 on master.

mathlib4

Root cause. The downstream: update repo mathlib4 merge brought in three deprecation waves from mathlib master:

  • Mathlib.Order.Filter.EventuallyConstEventuallyConst specialised to sets was renamed to EventuallyEmptyOrUniv, so the @[deprecated] aliases state the old lemmas in terms of a different predicate.
  • Mathlib.LinearAlgebra.ContractiondualTensorHomEquivOfBasis_eq_dualTensorHomEquiv reverses the direction of the equation it replaces, and dualDistribEquivOfBasis (and its @[simps!] lemmas) were superseded by the basis-free dualDistribEquiv.

Since lean4#14600 an @[deprecated X] whose replacement has a different type warns (The updated constant has a different type: …, with the +typeChanged syntax from lean4#14570). mathlib4 builds with --wfail here, so both modules count as failed and everything downstream of them — including cslib — was skipped.

Mathlib master builds on a release toolchain, where this warning does not exist yet, so batches like this keep arriving downstream whenever a deprecation wave lands upstream.

Fix. +typeChanged on all 18 sites; the type differences are all intentional. The marker is not recorded in the environment, so the .oleans are unchanged and dependents replay from cache.

Verified locally on nightly-2026-09-03:

  • mathlib4: lake build Mathlib Archive Counterexamples Wanted --wfail, lake test --iofail, lake lint — all green.
  • cslib (skipped behind mathlib4 in CI): lake build --wfail --iofail, lake test --wfail --iofail, lake lint — all green with no source change needed.

Not covered by this PR

The rest of the red set (subverso, verso, verso-slides, verso-web-components, and reference-manual behind them) is unchanged from the previous round: the subverso adaptation is in #39, and verso then fails on the nested-test-project/toolchain issue already reported on Zulip. Nothing here touches it.

The merge with mathlib master brought in new `@[deprecated]` aliases in
`Mathlib.Order.Filter.EventuallyConst` (`EventuallyConst` on sets renamed to
`EventuallyEmptyOrUniv`) and `Mathlib.LinearAlgebra.Contraction`
(`dualDistribEquivOfBasis`/`dualTensorHomEquivOfBasis` superseded by their
basis-free counterparts). Since lean4#14600 an `@[deprecated X]` whose
replacement has a different type warns, and mathlib4 builds with `--wfail`
downstream, so both modules failed.

The type differences are intentional, so mark all 18 sites with `+typeChanged`.
Mathlib master builds on a release toolchain where this warning does not exist
yet, so such batches keep arriving downstream with deprecation waves.
@downstream-lean4

Copy link
Copy Markdown
Contributor

Build report for fix: mathlib4 breakage from nightly-2026-09-03

Turned green:

Repo Critical Build Test Lint
mathlib4 ✅ in 418s ✅ in 47s ✅ in 91s
cslib ✅ in 35s ✅ in 8s ✅ in 3s
Stayed red
Repo Critical Build Test Lint
reference-manual ⏭️ ⏭️ ⏭️
subverso 🟥 in 9s ⏭️ ⏭️
verso ⏭️ ⏭️ ⏭️
verso-slides ⏭️ ⏭️ ⏭️
verso-web-components ⏭️ ⏭️ ⏭️
Stayed green
Repo Critical Build Test Lint
aesop ✅ in 7s ✅ in 5s ⏭️
batteries ✅ in 5s ✅ in 4s ✅ in 2s
import-graph ✅ in 2s ✅ in 3s ⏭️
lean4-cli ✅ in 1s ✅ in 0s ⏭️
plausible ✅ in 1s ✅ in 2s ⏭️
ProofWidgets4 ✅ in 3s ✅ in 1s ⏭️
quote4 ✅ in 2s ✅ in 1s ⏭️
BibtexQuery ✅ in 1s ⏭️ ⏭️
comparator ✅ in 2s ⏭️ ⏭️
doc-gen4 ✅ in 6s ⏭️ ⏭️
illuminate ✅ in 3s ✅ in 11s ⏭️
lean4-unicode-basic ✅ in 2s ⏭️ ⏭️
lean4export ✅ in 0s ✅ in 7s ⏭️
LeanSearchClient ✅ in 1s ✅ in 0s ⏭️
leansqlite ✅ in 4s ✅ in 17s ⏭️
nerodia ✅ in 2s ✅ in 21s ⏭️
repl ✅ in 1s ✅ in 57s ⏭️

View run

@TwoFX
TwoFX merged commit eb9f292 into master Sep 4, 2026
19 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants