Skip to content

fix: cslib breakage from the mathlib4 nightly-testing merge - #155

Closed
downstream-lean4[bot] wants to merge 1 commit into
masterfrom
push-zkysnmwmxoos
Closed

downstream-lean4[bot] wants to merge 1 commit into
masterfrom
push-zkysnmwmxoos

Conversation

@downstream-lean4

Copy link
Copy Markdown
Contributor

Run 38017379965 on nightly-2026-10-09. cslib is the only repo of the red set that is not already covered by an open PR — see "The rest of the red set" below.

cslib

downstream: update repo mathlib4 (bf1783d) brought in mathlib4#44387, which extends Mathlib's unusedTactic linter to the <;> combinator: a <;> whose left-hand tactic leaves at most one goal is reported as redundant, since ; — or nothing at all — would do the same. (The PR also switches off batteries' UnnecessarySeqFocus, which linted the same property at much greater cost.)

The decreasing_by block of Proposition.expand in Cslib/Logics/LinearLogic/CLL/EtaExpansion.lean was all_goals simp <;> grind, and simp leaves at most one goal on every termination branch, so the new warning fires there:

warning: Cslib/Logics/LinearLogic/CLL/EtaExpansion.lean:77:17: Unused tactic linter: `<;>` should be replaced with `;` or be removed.

It is the only site in the whole library, and cslib builds with --wfail, so that one warning is the entire failure — there is no ✖ anywhere in the CI log.

; is not actually a valid replacement here: simp closes two of the branches outright, so all_goals simp; grind fails with two No goals to be solved. simp alone does not close any of the remaining sizeOf inequalities. grind on its own discharges all of them, and all_goals grind is the idiom the rest of cslib already uses, so the fix drops simp <;>.

Upstream cslib main still carries the <;>, and its own CI cannot see this: it builds against a release toolchain and a released Mathlib, while mathlib4#44387 landed on 2026-10-09.

Verified on nightly-2026-10-09 with the options CI uses: lake build --wfail --iofail (6664 jobs, no warning anywhere), lake test --wfail --iofail (18651 jobs, which compiles all of Mathlib) and lake lint all pass.

The rest of the red set

Unchanged here, each already carried by an open PR whose subrepo directory is byte-identical to master's:

master needs all four PRs to go green.

`downstream: update repo mathlib4` (bf1783d) brought in
[mathlib4#44387](leanprover-community/mathlib4#44387),
which extends Mathlib's `unusedTactic` linter to the `<;>` combinator: a `<;>`
whose left-hand tactic leaves at most one goal is reported as redundant,
because `;` — or nothing at all — would do the same. (The PR also turns off
batteries' `UnnecessarySeqFocus`, which linted the same thing, for the
speedup.)

The `decreasing_by` block of `Proposition.expand` in
`Cslib/Logics/LinearLogic/CLL/EtaExpansion.lean` was
`all_goals simp <;> grind`, and `simp` leaves at most one goal on every
termination branch, so the new warning fires there:

    warning: Cslib/Logics/LinearLogic/CLL/EtaExpansion.lean:77:17: Unused
    tactic linter: `<;>` should be replaced with `;` or be removed.

It is the only site in the whole library, and with `--wfail` the one warning is
the whole failure — there is no `✖` anywhere.

`;` is not in fact a valid replacement here: `simp` closes two of the branches
outright, and `all_goals simp; grind` therefore fails with two `No goals to be
solved`. `simp` alone does not close any of the remaining `sizeOf`
inequalities. `grind` on its own discharges all of them, and
`all_goals grind` is the idiom the rest of cslib already uses for
`decreasing_by`-style goals, so use that.

Verified on `nightly-2026-10-09` with the options CI uses: `lake build --wfail
--iofail` (6664 jobs, no warnings anywhere), `lake test --wfail --iofail`
(18651 jobs, which compiles all of Mathlib) and `lake lint` all pass. Upstream
`cslib` `main` still carries the `<;>`; its own CI cannot see this, as it
builds against a release toolchain and a released Mathlib.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@downstream-lean4

Copy link
Copy Markdown
Contributor Author

Build report for fix: cslib breakage from the mathlib4 nightly-testing merge

Turned green:

Repo Critical Build Test Lint
cslib ✅ in 4s ✅ in 8s ✅ in 3s
Stayed red
Repo Critical Build Test Lint
mathlib4 ✅ ✅ in 1m 1s 🟥 in 42s ✅ in 1m 35s
reference-manual ✅ 🛑 by verso ⏭️ ⏭️
verso 🟥 in 44s ⏭️ ⏭️
verso-slides 🛑 by verso ⏭️ ⏭️
verso-web-components 🛑 by verso ⏭️ ⏭️
Stayed green
Repo Critical Build Test Lint
aesop ✅ ✅ in 0s ✅ in 5s ⏭️
batteries ✅ ✅ in 0s ✅ in 4s ✅ in 2s
import-graph ✅ ✅ in 2s ✅ in 4s ⏭️
lean4-cli ✅ ✅ in 0s ✅ in 0s ⏭️
plausible ✅ ✅ in 0s ✅ in 2s ⏭️
ProofWidgets4 ✅ ✅ in 1s ✅ in 1s ⏭️
quote4 ✅ ✅ in 0s ✅ in 1s ⏭️
BibtexQuery ✅ in 1s ⏭️ ⏭️
comparator ✅ in 2s ⏭️ ⏭️
doc-gen4 ✅ in 4s ⏭️ ⏭️
illuminate ✅ in 1s ✅ in 10s ⏭️
lean4-unicode-basic ✅ in 0s ⏭️ ⏭️
lean4export ✅ in 0s ✅ in 6s ⏭️
LeanSearchClient ✅ in 0s ✅ in 0s ⏭️
leansqlite ✅ in 3s ✅ in 16s ⏭️
nerodia ✅ in 1s ✅ in 21s ⏭️
repl ✅ in 0s ✅ in 48s ⏭️

View run

@downstream-lean4

Copy link
Copy Markdown
Contributor Author

Superseded upstream: cslib#1109 (chore: bump mathlib to 44086b6, fix breaking changes, 2026-10-10) makes the identical change to Proposition.expand's decreasing_by — all_goals simp <;> grind → all_goals grind — and downstream: update repo cslib (ba4607e) brought it to master byte-identical, so this PR is now a no-op. cslib builds, tests and lints green in run 38052409211.

@downstream-lean4 downstream-lean4 Bot closed this Oct 10, 2026
@downstream-lean4
downstream-lean4 Bot deleted the push-zkysnmwmxoos branch October 10, 2026 13:03
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.

0 participants