Zulip Chat Archive

Stream: general

Topic: Maintainability tips


Weiyi Wang (Mar 11 2025 at 12:45):

I learned from https://leanprover-community.github.io/extras/simp.html that non-terminal simps are at risk of breaking when updating libraries. Are there similar pitfalls for other tactics? For example, how likely ring can break after updating dependencies?

Floris van Doorn (Mar 11 2025 at 12:56):

ring shouldn't break between versions (unless previous tactic produced a different goal state). The reason that simp likely breaks is that it is an extendible tactics: we regularly add more @[simp]-lemmas so that simp can simplify more.
Something similar happens with gcongr, although this breaks proofs less frequently.

Floris van Doorn (Mar 11 2025 at 12:58):

Most other extendible tactics are finishing tactics (positivity, fun_prop, measurability, etc.), so it doesn't matter if they start doing more.

Weiyi Wang (Mar 11 2025 at 13:00):

That's good to know, and thanks for the mentioning gcongr because I also used it.


Last updated: May 02 2025 at 03:31 UTC