Zulip Chat Archive

Stream: general

Topic: Mathlib community meetings


Kim Morrison (Feb 05 2024 at 00:30):

As just announced, we are rebooting community meetings. (We previously ran these regularly during the porting proceess.)

Kim Morrison (Feb 05 2024 at 00:30):

The first meeting will be at at https://meet.google.com/guj-dcde-cdq, and the intention will be to continue every second month on the 2nd Friday. Note that these meetings will be alternating with the FRO month meetings, which are focussed more on language development and the work of the Lean FRO.

The meetings will be recorded, and posted online afterwards.

(Of course, if we discover there is demand for more frequent meetings, we can do that too!)

Kim Morrison (Feb 05 2024 at 00:30):

In planning these meetings, we would like to balance two things:

  • Ensuring that community requests and concerns are heard and addressed.
  • Staying on topic and avoiding long digressions --- these will be relatively large meetings so we can't waste people's time.

While we would like to keep these meetings fairly informal, these constraints mean that we will need an agenda. To the extent that a moderator is required, there'll be someone from the maintainers handling each meeting.

Kim Morrison (Feb 05 2024 at 00:30):

I'll post a poll shortly with suggestions of general topics for discussion. (We've already discussed this a bit amongst the maintainers.) Ideally in future we'll keep doing such a poll for each meeting, to try to make sure everyone has a say in what these meetings cover. Please feel free to use this thread to expand on topics, suggest subtopics, etc. But let's not have this thread become actual discussion of the topics! :-)

Kim Morrison (Feb 05 2024 at 00:36):

/poll Discussion topics for February Mathlib community meeting

Eric Wieser (Feb 09 2024 at 16:18):

Was a recording made of this meeting?

Sebastian Ullrich (Feb 09 2024 at 16:25):

No, but we can do so next time if people are in favor

Eric Wieser (Feb 09 2024 at 16:42):

Ah, so I guess

Scott Morrison said:

The meetings will be recorded, and posted online afterwards.

wasn't true this time

Adam Topaz (Feb 09 2024 at 17:15):

Indeed a recording would have been nice, as I had to miss this meeting due to teaching (and thus will probably miss the future ones during this semester).

Michael Rothgang (Feb 11 2024 at 19:10):

Similar here: I would have loved to watch a recording later.

Kim Morrison (Feb 12 2024 at 06:19):

Sorry, yes, absolutely meant to. At the last moment I discovered I couldn't open the meeting and Sebastian or Leo needed to, and then in the rush I forgot to record. Next time!

Kim Morrison (Feb 12 2024 at 06:23):

To get the ball rolling for future meetings, the default date would be , after the next FRO community meeting at .

Kim Morrison (Feb 12 2024 at 06:28):

I was wondering if in the meantime we might be interested in holding a "review party".

I was thinking a coordinated time, a zoom room possibly with some breakout rooms for subject areas, and participants do any combination of

  • improving editorial processes (tracking slow PRs, auto-recommendation of reviewers, maybe even trying out editflow!)
  • assigning PRs to potential reviewers
  • closing, reviewing, and marking PRs as awaiting-author.

Kim Morrison (Feb 12 2024 at 06:30):

(I'll take thumbs up on that message as interest; if it's something enough people might participate in, we can move in to scheduling. Please refine the proposal below, too!)

Eric Rodriguez (Feb 14 2024 at 11:09):

One thing that was briefly mentioned last meeting and I think would be good to raise again next meeting is proof golfing. It's hard to say as sometimes it's stylistic changes that are only positive, and then sometimes it's huge compressions that most people would perceive as negative.

Martin Dvořák (Feb 14 2024 at 11:26):

My favorite example of huge proof compression:
https://github.com/leanprover-community/mathlib4/blob/a24907839ba28f0009af978642d62e1cc3076038/Mathlib/Data/List/Basic.lean#L2493

Michael Rothgang (Apr 16 2024 at 16:41):

Cross-linking the April edition since I at least would have looked in this thread.

Jireh Loreaux (Apr 16 2024 at 18:35):

oops, I didn't realize there were two threads, sorry!

Matthew Ballard (Jul 23 2024 at 14:13):

The next installment of the Mathlib community meetings will be in a little under three weeks. All are welcome!

As the agenda is being assembled, I want to encourage you to post here to highlight issues or questions of importance to you. If you prefer, you can also DM me or any maintainer of Mathlib.

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

Much apologies for the late notice. But the next community meeting will be instead of today.

I want to particularly invite people involved in the #Equational project to share their perspectives on how Mathlib's current design helped or hurt their goals.

Michael Rothgang (Oct 11 2024 at 14:01):

This is/will be the correct link, right? https://meet.google.com/guj-dcde-cdq

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

Reminder that the community meeting will be in 1 hour . The general theme is building on top of mathlib. We have a lot of interesting projects that have recently completed or are on going. I encourage anyone involved in one of them to join and share their perspectives.

Damiano Testa (Oct 18 2024 at 13:04):

Will the meeting be recorded? I won't be able to attend, but would be curious to hear about what is going on!

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

Michael Rothgang said:

This is/will be the correct link, right? https://meet.google.com/guj-dcde-cdq

Tentatively. If not, I will post a different link 10 minutes before the start.

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

It will be at https://sc-edu.zoom.us/j/89485684468 (~ 10 minutes)

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

The claim I made in the meeting was wrong, priority really does win:

import Mathlib

notation "x" => 1
notation (priority := default+1) "x" => "1"

#eval (x : Nat) -- doesn't work, even though the low-priority one would work

Shreyas Srinivas (Oct 18 2024 at 15:22):

I want to add that channeling contributions at the task proposal stage has the benefit that contributors haven't already sunk formalisation effort before duplicates have been spotted.

Matthew Ballard (Oct 18 2024 at 15:22):

Thanks to everyone who came! I learned a good deal. The next one will come in December with more information appearing closer to the date.

Kevin Buzzard (Oct 18 2024 at 16:41):

Apologies -- I couldn't make this one (I was interviewing) but I had not realised that people involved in interesting projects were specifically being asked things (indeed I didn't read the message above about this because I was interviewing :-) ). Let me know if there's any questions which you just want me to hit R and say something about re FLT.

Matthew Ballard (Dec 11 2024 at 17:06):

Reminder that the next Mathlib community meeting will be at https://meet.google.com/guj-dcde-cdq All are welcome!

Matthew Ballard (Dec 13 2024 at 14:12):

Reminder that this will start in a little less than 50 minutes. Hope to see you there.

Kim Morrison (Dec 15 2024 at 09:18):

How did the meeting go? What was discussed?

Kevin Buzzard (Dec 15 2024 at 10:21):

And is the recording available?

Michael Rothgang (Dec 15 2024 at 12:44):

There was the plan of turning a transcript of the meeting into a community blog post, right? (I still think that would be great.)

Ashley Blacquiere (Dec 15 2024 at 23:44):

Kevin Buzzard said:

And is the recording available?

Yes! I just uploaded it to the Lean FRO channel on YouTube (HD is still processing as I write this, but SD should be available to view).

Kim Morrison said:

How did the meeting go? What was discussed?

Main topics were big wins from 2024 and hopes for Mathlib in 2025.

Michael Rothgang said:

There was the plan of turning a transcript of the meeting into a community blog post, right? (I still think that would be great.)

I have the transcript and can share if anyone would like to use it to create a blog post. Given the meeting topic, it'd be a great source for a 2024 wrap-up post.

Matthew Ballard (Dec 17 2024 at 19:24):

Summaries of the two main topics at #general > Highlights of 2024? and #general > Predictions for 2025? Please contribute!

Matthew Ballard (Feb 13 2025 at 22:03):

Our next community meeting will be tomorrow Please join us!

Matthew Ballard (Feb 14 2025 at 15:02):

Please join! Happening now!

Matthew Ballard (Feb 14 2025 at 15:02):

https://meet.google.com/guj-dcde-cdq

Kim Morrison (Feb 14 2025 at 22:20):

Anyone want to give a brief summary or recap?

Ashley Blacquiere (Feb 14 2025 at 22:21):

I have the recording and transcript! Haven't posted it yet, but coming soon.

Ashley Blacquiere (Feb 15 2025 at 00:22):

Today's Mathlib Community Meeting recording is live on YouTube.

Kim Morrison (Feb 15 2025 at 01:06):

Many interesting discussions (I'm just part way through).

Kim Morrison (Feb 15 2025 at 01:07):

The desire to have a good auto-formatter is of course reasonable! It's also very hard because of Lean's extensibility. We really want to get there but it doesn't seem likely to happen immediately!

In the meantime, can we just start linting for all the most common errors? (Spaces around colons and parentheses, for example.)

Kim Morrison (Feb 15 2025 at 01:07):

It's really important that reviewers don't have to do this.

Damiano Testa (Feb 16 2025 at 22:36):

I can look into toning down the ppRoundtrip linter, so that it can reliably check something.

Damiano Testa (Feb 16 2025 at 22:36):

It is already not too bad, but it flags way too much and not everything is good.

Damiano Testa (Feb 16 2025 at 22:37):

I can probably start by making it look at binders.

Michael Rothgang (Feb 17 2025 at 08:29):

I could probably whip up a text-based linter for e.g. the spacing issues. It would be less reliable than the pretty-printer based logic, but could also be useful.

Damiano Testa (Feb 17 2025 at 08:40):

There was already an experiment with linting whitespace: #14379.

Damiano Testa (Feb 17 2025 at 17:53):

While trying to get a reasonable number of exceptions with the linter, #22006 contains a few easy whitespace cleanups.

Arthur Paulino (Feb 17 2025 at 18:19):

As a data point reference, cargo fmt doesn't attempt to format everything. In particular, it usually skips macro syntax.

Though I'm not sure it would be very satisfying for Mathlib in particular because the vast majority of lines are within the tactic DSL. So in a sense it's what cargo fmt would skip, if we apply the analogy.

Tossing an idea in case it helps: syntax authors could provide an optional API to format the syntax they create, which would be ultimately called by lake fmt. Otherwise, output the same original string of text.

Eric Wieser (Feb 17 2025 at 20:22):

In theory, syntax already has such an API, in the form of instructions to the pretty printer

Damiano Testa (Feb 17 2025 at 20:33):

In fact, the pretty-printed syntax is what the ppRoundtrip linter uses.

Damiano Testa (Feb 17 2025 at 20:41):

Here is a source of many discrepancy between the pretty-printed syntax and actual mathlib code: is it

theorem logMap_apply_of_norm_one (hx : mixedEmbedding.norm x = 1)
    (w : { w : InfinitePlace K // w  w₀ }) :

or

theorem logMap_apply_of_norm_one (hx : mixedEmbedding.norm x = 1)
    (w : {w : InfinitePlace K // w  w₀}) :

(note the spaces around the brackets).

Damiano Testa (Feb 17 2025 at 20:43):

The pretty-printer makes a choice. However, for situations such as the one above, I am not so sure that enforcing either convention is clearly the way to go.

Damiano Testa (Feb 17 2025 at 20:43):

And special-casing all situation such as the one above is a lot of work! :smile:

Damiano Testa (Feb 17 2025 at 20:46):

Not to mention, the situations where the pretty-printed syntax is either invalid or valid but not defeq to the original!

Arthur Paulino (Feb 17 2025 at 20:55):

I didn't know that pretty-printed syntax could possibly not be defeq to the original source. That's pretty scary.

Regarding convention, the convention is usually whatever the auto-formatter picks. It's automatic anyway

Damiano Testa (Feb 17 2025 at 21:00):

A common source of non-defeq comes from casts/type ascriptions.

Eric Wieser (Feb 17 2025 at 21:40):

@Damiano Testa, I think you're confusing delaboration (Expr -> Syntax) with pretty printing (Syntax -> Std.Format)

Eric Wieser (Feb 17 2025 at 21:41):

Syntax -> String can also be ambiguous, but I think you need something more pernicious than coercions to trigger it

Damiano Testa (Feb 17 2025 at 22:26):

Eric, yes, I did confuse delaboration with pretty-printing!

Damiano Testa (Feb 18 2025 at 15:54):

#22051 removes more whitespace inconsistencies (and some missing . and typos).

Damiano Testa (Feb 18 2025 at 15:55):

The bulk of the changes are to make sure that doc-strings start with /-- and end with -/ -- emphasis on the spaces!

Matthew Ballard (Apr 09 2025 at 21:37):

Our next Mathlib community meeting will at be at . Please join us on Google Meet https://meet.google.com/guj-dcde-cdq !

Matthew Ballard (Apr 11 2025 at 13:55):

Reminder: this is happening in 5!

Matthew Ballard (Jun 10 2025 at 09:10):

Due to the Big Proof workshop at INI this week, we are moving the date for this month’s community meeting from to .

Matthew Ballard (Jun 27 2025 at 12:03):

Reminder that in under two hours we will start the next community meeting at https://meet.google.com/guj-dcde-cdq Please join us.

Matthew Ballard (Jun 27 2025 at 14:03):

Starting now! Please join us if you are interested.

Matthew Ballard (Jun 27 2025 at 15:44):

Thanks to everyone who joined. Some items from the meeting:

  • We don't have a Contributing.md Should we? What should we include?
  • Related, should we update our PR template to include links to information like this and affirmative check boxes?
  • An important thing to keep in mind is the division between building on top of mathlib and contributing directly to mathlib. For someone new coming in from the outside, these are going to require different levels of engagement with the tooling around mathlib.
  • It would be nice to regularly automatically highlight contributors, particularly first time contributers. https://github.com/all-contributors/cli might help
  • Developing the tactic-authoring and meta-programming pool of knowledge would be great. Some ideas towards this were to hold a workshop focused on it to help grow peoples' skills, to pair up experienced mentors with less experienced by eager developers to work on projects.
  • For projects, we have a master list at #10361 which could use some triaging to assess difficulty as projects. Finding a way to gauge community need would also help prioritize potential projects.

Matthew Ballard (Aug 07 2025 at 15:09):

A reminder that the next community meeting will be at https://meet.google.com/guj-dcde-cdq. Topics that have been mentioned:

  • What is grind and how should I use it?
  • Can we streamline Mathlib's morphism hierarchy?
  • What is the Mathlib Initiative?

Hopefully people will show up who can answer these questions! (Not it!).

Matthew Ballard (Aug 07 2025 at 15:11):

From #mathlib4 > Mathlib Announcements we've seen grw and Riemannian manifolds land since the last meeting. Also rich topics!

Ching-Tsun Chou (Aug 07 2025 at 16:56):

Will the meeting be recorded? The time (7am) is a bit too early for my time zone.

Kim Morrison (Aug 07 2025 at 23:21):

(Unfortunately I won't be able to make it, hopefully someone else who has been using grind will come!)

Matthew Ballard (Aug 08 2025 at 13:02):

Reminder: 1 hour.

Michael Rothgang (Aug 08 2025 at 13:20):

I won't make it either (on a crowded train in Germany), but would love to listen to a recording.

Matthew Ballard (Aug 08 2025 at 13:45):

Bonus to anyone who brings a problem for GPT 5 Pro to chew on while we chat.

Bryan Gin-ge Chen (Aug 08 2025 at 13:46):

If GPT5 can figure out what's going on in #mathlib4 > Failing CI @ 💬 (and fix it), I'll be very happy.

Yaël Dillies (Aug 08 2025 at 13:46):

Matthew Ballard said:

Bonus to anyone who brings a problem for GPT 5 Pro to chew on while we chat.

Natural or formal language?

Matthew Ballard (Aug 08 2025 at 13:47):

Let's say the output has to be Lean code. The input can be either.

Yaël Dillies (Aug 08 2025 at 13:52):

Too late, I've got formal statement :grinning:

Yaël Dillies (Aug 08 2025 at 13:58):

Here it is:

import Mathlib

/-- Proved in the literature. -/
lemma vc_lt_four_of_convex_r2 {C : Set (Fin 2  )} (hC : Convex  C)
    {x : Fin 4  Fin 2  } {y : Set (Fin 4)  Fin 2  }
    (hxy :  i s, x i + y s  C  i  s) : False := sorry

/-- Open as far as I'm aware. -/
lemma vc2_lt_two_of_convex_r3 {C : Set (Fin 3  )} (hC : Convex  C)
    {x y : Fin 2  Fin 3  } {z : Set (Fin 2 × Fin 2)  Fin 3  }
    (hxy :  i j s, x i + y j + z s  C  (i, j)  s) : False := sorry

Matthew Ballard (Aug 08 2025 at 15:04):

import Mathlib

/-- Proved in the literature. -/
lemma vc_lt_four_of_convex_r2 {C : Set (Fin 2  )} (hC : Convex  C)
    {x : Fin 4  Fin 2  } {y : Set (Fin 4)  Fin 2  }
    (hxy :  i s, x i + y s  C  i  s) : False := by
  classical
  -- Diagonal set: membership is defined as *not* being in C after the shift by `y s`.
  let s : Set (Fin 4) := {i | x i + y s  C}
  -- For this `s`, the given equivalence becomes `p ↔ ¬p`.
  have h : x (0 : Fin 4) + y s  C  x (0 : Fin 4) + y s  C := by
    simpa [s] using hxy (0 : Fin 4) s
  -- `p ↔ ¬p` is impossible.
  by_cases hp : x (0 : Fin 4) + y s  C
  · exact (h.mp hp) hp
  · exact hp (h.mpr hp)

/-- Open as far as I'm aware. -/
lemma vc2_lt_two_of_convex_r3 {C : Set (Fin 3  )} (hC : Convex  C)
    {x y : Fin 2  Fin 3  } {z : Set (Fin 2 × Fin 2)  Fin 3  }
    (hxy :  i j s, x i + y j + z s  C  (i, j)  s) : False := by
  classical
  -- Same diagonal trick in the 2-parameter index.
  let s : Set (Fin 2 × Fin 2) := {p | x p.1 + y p.2 + z s  C}
  have h :
      x (0 : Fin 2) + y (0 : Fin 2) + z s  C 
      x (0 : Fin 2) + y (0 : Fin 2) + z s  C := by
    simpa [s] using hxy (0 : Fin 2) (0 : Fin 2) s
  by_cases hp : x (0 : Fin 2) + y (0 : Fin 2) + z s  C
  · exact (h.mp hp) hp
  · exact hp (h.mpr hp)

Yaël Dillies (Aug 08 2025 at 15:06):

Egregious! It thinks I am doing set theory!

Matthew Ballard (Aug 08 2025 at 15:08):

After what I've seen it do, I am just happy it doesn't get near my student's PhD problem.

Matthew Ballard (Aug 08 2025 at 15:09):

I am not sure how long that will be the case though...

Yaël Dillies (Aug 08 2025 at 15:16):

I wonder how much better its answer would have been had I written an informal description of the problem

Matthew Ballard (Aug 08 2025 at 17:42):

We should probably continue in #Machine Learning for Theorem Proving. I still trying to push 5 Pro on the same thing with little success but I suspect there are more people with access around.

Eric Wieser (Aug 08 2025 at 18:14):

Want to add this to formal-conjectures?

Yaël Dillies (Aug 09 2025 at 05:16):

Sure, why not!

Eric Wieser (Aug 09 2025 at 11:34):

Will the recording / transcript / Gemini notes be shared for the meeting yesterday?

Matthew Ballard (Aug 09 2025 at 11:56):

The recording is up on Youtube now. (Link suppressed due to mobile.) Thanks @Ashley Blacquiere ! The other two we can share also but I haven’t sanity checked the Gemini output.

Yaël Dillies (Aug 11 2025 at 07:57):

@Eric Wieser said:

Want to add this to formal-conjectures?

Here's the full file I've written since the meeting. How much of it do you want in formal-conjectures? In order, I have:

  • a currently non-leanable proof of vc_lt_four_of_convex_r2
  • leanable proofs of exists_convex_r3_vc_eq_infty and exists_convex_rn_add_two_vc_n_eq_infty (the former is a special case of the latter, really)
  • hopefully soon a non-leanable proof of vc2_lt_two_of_convex_r3
  • no proof idea on exists_vcn_le_of_convex_rn_add_one whatsoever

Paul Lezeau (Aug 11 2025 at 09:05):

Yaël Dillies said:

Here's the full file I've written since the meeting. How much of it do you want in formal-conjectures? In order, I have:

  • a currently non-leanable proof of vc_lt_four_of_convex_r2
  • leanable proofs of exists_convex_r3_vc_eq_infty and exists_convex_rn_add_two_vc_n_eq_infty (the former is a special case of the latter, really)
  • hopefully soon a non-leanable proof of vc2_lt_two_of_convex_r3
  • no proof idea on exists_vcn_le_of_convex_rn_add_one whatsoever

I think everything in the file looks reasonable to add - feel free to open a PR and ping me for a review!

Notification Bot (Aug 11 2025 at 09:49):

A message was moved here from #mathlib4 > Instances on terms by Damiano Testa.

Yaël Dillies (Aug 11 2025 at 12:03):

@Paul Lezeau said:

I think everything in the file looks reasonable to add - feel free to open a PR and ping me for a review!

:ping_pong: google-deepmind/formal-conjectures#553 :slight_smile:

Matthew Ballard (Oct 10 2025 at 10:49):

Apologies for the late notice but let’s push the community meeting until next Friday (localized time when I get to a computer).

David Renshaw (Oct 10 2025 at 14:03):

ah, that explains why there are so few people in the meeting right now!

David Renshaw (Oct 10 2025 at 14:05):

in the future, can you please update the "Lean Community Meetings" Google calendar when things get rescheduled like this?

David Renshaw (Oct 10 2025 at 14:07):

(There were about 6 people other than me who showed up today. I told them the meeting is happening next week.)

Matthew Ballard (Oct 10 2025 at 15:50):

Apologies again. Travel constraints ultimately made it impossible. I should have just rescheduled earlier rather than holding out hope.

Matthew Ballard (Oct 16 2025 at 16:51):

Reminder: this is now coming up in a little under 24 hours Hope to see you there!

Michael Rothgang (Oct 16 2025 at 16:54):

Same meeting link as before, i.e. https://meet.google.com/guj-dcde-cdq?

Matthew Ballard (Oct 17 2025 at 13:30):

Reminder: ~30 minutes from now.

Riccardo Brasca (Oct 17 2025 at 13:37):

Will it be recorded?

Kim Morrison (Oct 20 2025 at 02:10):

Could someone post a link to the recording if available?

Rida Hamadani (Oct 20 2025 at 02:11):

Kim Morrison said:

Could someone post a link to the recording if available?

https://youtu.be/SWpK9RWZwVI

Matthew Ballard (Dec 11 2025 at 17:04):

Reminder that our next meeting is in a little under 24 hours

Everyone is welcome. Please bring with you some of your favorite things in Lean and Mathlib over the past year and your new year's resolutions!

Matthew Ballard (Dec 12 2025 at 14:55):

Heading over to https://meet.google.com/guj-dcde-cdq now. See you there!


Last updated: Dec 20 2025 at 21:32 UTC