Zulip Chat Archive

Stream: Equational

Topic: Mathlib community meeting


Matthew Ballard (Oct 11 2024 at 12:38):

The next community meeting will be instead of today.

I want to particularly invite everyone involved here to join to share their perspectives on how Mathlib's current design helped or hurt their goals. Insights from projects like this are valuable for future growth of the community.

A link to the meeting will be provided closer to the appointed time.

Matthew Ballard (Oct 11 2024 at 12:39):

Please feel free to use this thread to brainstorm :)

Shreyas Srinivas (Oct 11 2024 at 13:34):

I think we need to figure out how much of Mathlib we used in the first place

Shreyas Srinivas (Oct 11 2024 at 13:35):

We basically reinvented the meta theory of Free Magmas

Shreyas Srinivas (Oct 11 2024 at 13:36):

Further, we avoided using the Mul typeclass in favour of our own Magma typeclass

Shreyas Srinivas (Oct 11 2024 at 13:37):

And another thing: this is not mathlib specific, but we found that overriding the function composition notation increased CI time considerably and it was simpler to use a previously unused symbol

Shreyas Srinivas (Oct 11 2024 at 13:38):

One pain point w.r.t. Mathlib was finding notation that was not already used and globally visible. I personally wish that we could freely import Mathlib without worrying about having to find out which notations are globally imported. What I mean is, it would be nice to be able to "hide" notations imported from mathlib in general, but at least namespacing and localising most notations would already help

Matthew Ballard (Oct 18 2024 at 13:06):

Reminder for . Please join! See #general > Mathlib community meetings for more details.

Michael Bucko (Oct 18 2024 at 13:37):

Shreyas Srinivas schrieb:

What I mean is, it would be nice to be able to "hide" notations imported from mathlib in general, but at least namespacing and localising most notations would already help

Just a note, perhaps custom typeclasses with lazy evals (deferring certain operations until their results are needed) could help? Also, perhaps some sort of next-level scoping is needed for such projects, too? (to avoid the CI time increase you mentioned).

Shreyas Srinivas (Oct 18 2024 at 13:57):

I don't think laziness helps in anyway with notation. There are ways to explicitly provide scope like using namespaces and local notations. Mathlib already uses them (there is the BigOperators namespace for example)

Shreyas Srinivas (Oct 18 2024 at 13:58):

Long term, it would really help if all of Mathlib was namespaced. Lean already allows us to open a namespace with only the items we need

Eric Wieser (Oct 18 2024 at 13:59):

But I think scoping everything in mathlib would be unnecessarily hostile to mathematicians; while it's sometimes annoying that mathlib is in the way, a tool to move things back out of the way would be enough to make everyone mostly happy, as you said here:

Shreyas Srinivas said:

it would be nice to be able to "hide" notations imported from mathlib in general,

Shreyas Srinivas (Oct 18 2024 at 13:59):

Well mathematicians can just open Mathlib without any qualifications.

Eric Wieser (Oct 18 2024 at 13:59):

(deleted)

Matthew Ballard (Oct 18 2024 at 14:00):

Please come have this discussion over video :)

Eric Wieser (Oct 18 2024 at 14:00):

I think video + audio would be a little easier!

Matthew Ballard (Oct 18 2024 at 14:01):

That can be managed :)


Last updated: May 02 2025 at 03:31 UTC