Zulip Chat Archive

Stream: mathlib4

Topic: Assistance on lean-pr-testing-12564


Kim Morrison (Feb 19 2026 at 01:38):

We have a candidate fix for v4.29.0-rc1, in particular the #mwe from #general > backward.isDefEq.respectTransparency @ 💬 , in lean#12564.

Kim Morrison (Feb 19 2026 at 01:38):

However this itself causes further breakages in Mathlib, although relatively quite few. Could I ask for assistance on this, so we can efficiently get through this and deploy lean#12564 in an rc2?

Kim Morrison (Feb 19 2026 at 01:38):

The problems break up into two classes: broken proofs, which so far I have just sorried on the branch, and missing instances. Some instances I have already added.

If you add more instances, please put #adaptation_note /-- Needed after leanprover/lean4#12564 -/ before them, so we can review/reduce duplication at some point.

Kim Morrison (Feb 19 2026 at 01:38):

So far the instances I've had to add seem like reasonable things, and supplying them has just been a matter of inferInstanceAs <| ...some slight unfolding of the goal .... There are some other instances which now fail, but I haven't investigated how Mathlib master supplies them, e.g. [Algebra R S] : Module (MvPolynomial X R) (MvPolynomial X S).

Kim Morrison (Feb 19 2026 at 01:38):

For both the instances / broken proofs, ideally contributors can just push fixes to the branch (maybe say so here!). Even extremely hacky proofs are welcome, we can just merge with an #adaptation_note and clean up post rc2. The gloves are off, here. :-)

Kim Morrison (Feb 19 2026 at 01:38):

Even more useful is if you can identify something that is broken but shouldn't be, and then please tell us about it here, and we can coordinate making a Mathlib free #mwe to send back to lean#12564.

Kim Morrison (Feb 19 2026 at 01:40):

Here are the current files where assistance would be appreciated. (I am cheekily pinging the "Authors:" of each of the files. That's why you put your name there, right? :-)

Files with declaration uses sorry (warnings only)

File First sorry Authors
Algebra/BigOperators/Field.lean L35 @Bhavik Mehta, @Daniel Weber
Algebra/Category/Grp/FilteredColimits.lean L74 @Justus Springer
Algebra/Category/ModuleCat/Differentials/Presheaf.lean L78 @Joël Riou
Analysis/RCLike/TangentCone.lean L24 @Sébastien Gouëzel
Analysis/Real/Hyperreal.lean L200 @Abhimanyu Pallavi Sudhir
Geometry/RingedSpace/OpenImmersion.lean L989 @Andrew Yang
LinearAlgebra/CliffordAlgebra/Grading.lean L46 @Eric Wieser
LinearAlgebra/Matrix/Charpoly/Coeff.lean L147 @Aaron Anderson, @Jalex Stark
LinearAlgebra/Matrix/Determinant/Basic.lean L285 @Kenny Lau, @Chris Hughes, @Anne Baanen
LinearAlgebra/Matrix/SpecialLinearGroup.lean L349 @Anne Baanen, Wen Yang
LinearAlgebra/SymplecticGroup.lean L61 @Matej Penciak, @Moritz Doll, Fabien Clery
NumberTheory/Padics/MahlerBasis.lean L282 Giulio Caflisch, @David Loeffler
RingTheory/Algebraic/Integral.lean L653 @Johan Commelin
RingTheory/Extension/Generators.lean L244 @Andrew Yang
RingTheory/MvPolynomial/Groebner.lean L236 @Antoine Chambert-Loir
RingTheory/MvPolynomial/MonomialOrder.lean L996 @Antoine Chambert-Loir
Topology/Algebra/Module/Equiv.lean L1001 @Jan-David Salchow, @Sébastien Gouëzel, @Jean Lo, @Yury G. Kudryashov, @Frédéric Dupuis

Files with errors (first error per file)

File First error Error type Authors
Algebra/Category/ModuleCat/Differentials/Presheaf.lean L60 failed to synthesize: HSMul ↑(R.obj X) ↑(M.obj X) ?m @Joël Riou
Analysis/Normed/Algebra/UnitizationL1.lean L108 failed to synthesize: Module R (Unitization 𝕜 A) @Jireh Loreaux
Analysis/Real/Hyperreal.lean L147 overloaded, errors (application type mismatch) @Abhimanyu Pallavi Sudhir
LinearAlgebra/CliffordAlgebra/Grading.lean L33 failed to synthesize: HPow (Submodule R (CliffordAlgebra Q)) ℕ ?m @Eric Wieser
LinearAlgebra/ExteriorAlgebra/Basic.lean L80 failed to synthesize: HPow (Submodule R (ExteriorAlgebra R M)) ℕ ?m @Zhangir Azerbayev, @Adam Topaz, @Eric Wieser
NumberTheory/Padics/MahlerBasis.lean L275 failed to synthesize: Module ℤ_[p] ℤ_[p] Giulio Caflisch, @David Loeffler
RingTheory/Algebraic/Integral.lean L565 failed to synthesize: Module (MvPolynomial σ R) (MvPolynomial σ S) @Johan Commelin
RingTheory/Kaehler/Polynomial.lean L66 failed to synthesize: Module (MvPolynomial σ R) (σ →₀ MvPolynomial σ R) @Andrew Yang
RingTheory/LocalRing/ResidueField/Ideal.lean L141 failed to synthesize: Module R I.ResidueField @Andrew Yang
RingTheory/MvPolynomial/Groebner.lean L131 failed to synthesize: Module (MvPolynomial σ R) (MvPolynomial σ R) @Antoine Chambert-Loir

Snir Broshi (Feb 19 2026 at 01:42):

Do you mean push to https://github.com/leanprover-community/mathlib4-nightly-testing/tree/lean-pr-testing-12564, fixing any sorries?

Snir Broshi (Feb 19 2026 at 01:44):

The sorry links in the table are all 404 to me, the branch isn't in your fork

Kim Morrison (Feb 19 2026 at 01:50):

Snir Broshi said:

The sorry links in the table are all 404 to me, the branch isn't in your fork

Links all fixed.

Kim Morrison (Feb 19 2026 at 01:50):

Snir Broshi said:

Do you mean push to https://github.com/leanprover-community/mathlib4-nightly-testing/tree/lean-pr-testing-12564, fixing any sorries?

Yes please. For users that don't have the ability to push direct to that branch, please make a PR to that branch, and mention it here. I will merge asap.

Kim Morrison (Feb 19 2026 at 01:51):

(I'm happy to add anyone who regularly contributes in the nightly-testing channel to the nightly-testing group, which will give write access to such branches.)

Matej Penciak (Feb 19 2026 at 02:27):

I made a PR to fix the proofs in LinearAlgebra/SymplecticGroup.lean: https://github.com/leanprover-community/mathlib4-nightly-testing/pull/183

The sorrys amounted to adding an instance by hand for Module R (Matrix (l ⊕ l) (l ⊕ l) R so that the neg_smul and neg_smul_neg lemmas could fire.

Kim Morrison (Feb 19 2026 at 02:33):

Oh no, most of the broken proofs can actually be fixed by adding more set_option backward.isDefeq.respectTransparency!

Kim Morrison (Feb 19 2026 at 02:39):

@Matej Penciak, I think that needing to add that instance by hand is a deeper problem that we should minimize, rather than fixing by hand here. Those proofs in SymplecticGroup for now work by adding set_option, so I'll do that on the branch for now.

Kim Morrison (Feb 19 2026 at 02:50):

Okay, as usual I've been hasty --- let me retract the request for help on this branch for moment. I'm going to see how far I get can adding more set_options, and if that results in a complete build then I will write a script to see how many we can remove elsewhere.

Kim Morrison (Feb 19 2026 at 03:28):

So far so good. I have a complete build now.

Robin Arnez (Feb 19 2026 at 03:38):

I have a different fix (which also achieves a full build) that works more with unification hints. That makes the amount of new set_options needed quite low but it might also be a bit hacky to allow Matrix m n a = m -> n -> a reducibly...

Robin Arnez (Feb 19 2026 at 03:40):

I think there is a general problem of what to do with type defs because instance search is inevitably going to run into situations where it needs to unify the declaration with its body.

Jireh Loreaux (Feb 19 2026 at 03:45):

I'm happy to look at the error you pinged me for here, but it sounds like you don't want us to? Or is the point that it's appreciated, but not urgent. With the flood of all the discussion related to these changes to core and Mathlib breakage, I'm not sure where we stand.

Kim Morrison (Feb 19 2026 at 03:46):

@Jireh Loreaux, no longer urgent, I realised I can bash through these problems with more set_option backward..... So investigating what is going on in any pinged file is helpful, but not at all urgent anymore. Sorry for the noise, I'll update again in cases I need help. :-)

Joël Riou (Feb 19 2026 at 07:52):

I did push https://github.com/leanprover-community/mathlib4-nightly-testing/commit/96f47cae3df2fc99cef7f88ef5aa8cbe350e0c60

Kim Morrison (Feb 19 2026 at 12:28):

Joël Riou said:

I did push https://github.com/leanprover-community/mathlib4-nightly-testing/commit/96f47cae3df2fc99cef7f88ef5aa8cbe350e0c60

Thanks!

Kim Morrison (Feb 19 2026 at 12:30):

Update re: lean#12564. It's a mixed bag. It requires adding about 120 new set_option backward.isDefEq.respectTransparency false, but then allows removing 800 other ones...

Progress, but far from complete.

We also have lean#12567 and lean#12572, which we hope will help further, but don't have results for yet.

Antoine Chambert-Loir (Feb 19 2026 at 14:23):

I tried to start helping, but gh pr checkout 12564 gives me

GraphQL: Could not resolve to a PullRequest with the number of 12564. (repository.pullRequest)

Robin Arnez (Feb 19 2026 at 14:50):

You'd need to checkout lean-pr-testing-12564 on https://github.com/leanprover-community/mathlib-nightly-testing, not the PR itself

Antoine Chambert-Loir (Feb 19 2026 at 14:54):

Do I first need to fork that repository?

Robin Arnez (Feb 19 2026 at 14:56):

You can also use your mathlib fork, you just need to add a remote, i.e. git remote add <whatever> <link>

Robin Arnez (Feb 19 2026 at 14:57):

And then you can fetch from lean-pr-testing-12564 from <whatever>


Last updated: Feb 28 2026 at 14:05 UTC