Zulip Chat Archive

Stream: triage

Topic: issue !4#31745: Missing definitional theorems


Random Issue Bot (Jan 02 2026 at 14:11):

Today I chose issue #31745 for discussion!

Missing definitional theorems
Created by @Kenny Lau (@kckennylau) on 2025-11-17
Labels:

Is this issue still relevant? Any recent updates? Anyone making progress?

Violeta Hernández (Jan 07 2026 at 23:15):

Why would we ever want to unfold this definition? And assuming we did, why is unfold not sufficient?

Snir Broshi (Jan 07 2026 at 23:32):

IIUC definitional lemmas prevent defeq abuse since the definition is treated as opaque, which makes changing it in the future easier (though I'm not sure IIUC)
Maybe the module system will surface these problems, since it let's us have opaque definitions?

Ruben Van de Velde (Jan 07 2026 at 23:36):

The (or one) benefit of having a foo_def is that you can change the actual definition but keep the lemma

Violeta Hernández (Jan 08 2026 at 00:09):

Surjective basically works as an abbrev already. The vast majority of ⊢ Surjective f goals are solved via intro x; use ....

Johan Commelin (Jan 08 2026 at 06:53):

Both can be true at the same time, right?
For some definitions we can decide that we want a firm boundary, for others absolutely not, and for others it's maybe more of a grey area. Tradeoffs and all that.

Anne Baanen (Jan 08 2026 at 11:31):

Whether we want downstream users to unfold a definition is now expressible with the module system, right? Namely, whether we have @[expose] on it or not.

Ruben Van de Velde (Jan 08 2026 at 12:42):

Do we now have documentation for how to use modules?

Anne Baanen (Jan 08 2026 at 12:44):

The Lean reference manual section on modules is quite thorough.

Ruben Van de Velde (Jan 08 2026 at 12:46):

I was hoping for short more than thorough, but I'll put it on my reading list


Last updated: Feb 28 2026 at 14:05 UTC