Zulip Chat Archive

Stream: mathlib4

Topic: Mathlib4 porting meeting series


Mario Carneiro (Nov 08 2022 at 16:05):

Hello all, we're planning on having a public weekly meeting for mathlib4 porting efforts, to replace the mentee meeting for discussing tactic development. It takes place on Thursdays starting . The hope is to get both people working on porting mathlib files as well as those porting tactics, and get some cross-communication going, iron out mathport kinks and so on.

https://meet.jit.si/moderated/a58c9883e1b3ef01acd9989d4626b2579d5263d496cacf6e5f3f917699ecb994

Mario Carneiro (Nov 08 2022 at 16:06):

(We can also use this thread for meeting notes going forward.)

Sarah Smith (Nov 08 2022 at 21:49):

@mathlib mentees

Moritz Doll (Nov 08 2022 at 23:20):

Are there other people interested in the meeting that would prefer a different time? It is at 4 in the night for me, but if I am the only person that cannot make it then it does not make sense to have a second meeting.

Mauricio Collares (Nov 08 2022 at 23:23):

Note that the above widget already shows local time (corresponding to 17:00 UTC in this case).

Edit: Oh, you're in Victoria. Nice! The list of time zones I looked at ignored daylight saving time, so I missed Australia.

Moritz Doll (Nov 08 2022 at 23:27):

I know

Kevin Buzzard (Nov 08 2022 at 23:44):

This clashes with Xena for me. (but I was going to experiment with trying to go and also help UGs at the same time...)

Scott Morrison (Nov 09 2022 at 01:22):

If it was a slightly more Australia compatible time (e.g. starting at least two hours later, or four hours earlier), I would come.

Johan Commelin (Nov 09 2022 at 06:55):

Four hours earlier or 2 hours later would also be more comfy for me. Right now it clashes with dinner + kids bed time.

Thomas Murrills (Nov 09 2022 at 06:57):

2 hours or more later would be comfortable for me, but I wouldn’t be able to make four hours earlier.

Mario Carneiro (Nov 09 2022 at 12:08):

I'm inclined to move to if that's better then, it would be good to see some new faces. Let's do a poll to confirm (vote for all options you think you can come to):

Mario Carneiro (Nov 09 2022 at 12:08):

/poll Let's do the meeting at...




Mario Carneiro (Nov 09 2022 at 12:09):

Well that didn't work. For reference the times are: -4, -2, 0, +2, +4 hours from the current meeting time.

Kevin Buzzard (Nov 09 2022 at 12:28):

(In general I can do current time -2 but I have a meeting tomorrow)

David Renshaw (Nov 10 2022 at 02:24):

@Mario Carneiro is there a final decision about the meeting time tomorrow? If it's "-4" then I need to make sure not to sleep too late. :)

Mario Carneiro (Nov 10 2022 at 02:27):

Let's meet , there are surprisingly many Europeans okay with that time and it's a bit easier for the Americans. Apparently every time is better than what we are doing now...

Mario Carneiro (Nov 10 2022 at 02:28):

(Sorry for the late notice!)

Riccardo Brasca (Nov 10 2022 at 15:01):

Will the meeting be recorded?

Mario Carneiro (Nov 10 2022 at 15:38):

uh, dunno I've never tried that with jitsi but I don't mind. This is a weekly meeting, so I don't want it to be too much hassle to post on youtube, and it's more of a meeting than a presentation so the main benefit would be automating the meeting notes

Scott Morrison (Nov 10 2022 at 22:40):

A recording (apologies for the erratic audio levels) will be available later today at https://youtu.be/0nGwjhi6UlI.

Scott Morrison (Nov 17 2022 at 11:53):

Are we meeting again at ?

Scott Morrison (Nov 17 2022 at 12:29):

I made the bump PR for mathlib4, at mathlib4#624, but there are two places where we might want to find out what went wrong, rather than just paper over a broken proof.

Scott Morrison (Nov 17 2022 at 12:30):

I'm off to sleep now, but can look again in the morning if it hasn't already been done. I'm excited to have the Lean 4 fixes in so we can proceed on a few porting PRs!

Alex J. Best (Nov 17 2022 at 14:02):

Scott Morrison said:

I made the bump PR for mathlib4, at mathlib4#624, but there are two places where we might want to find out what went wrong, rather than just paper over a broken proof.

Did you record / report these somewhere else, seeing as 624 is merged they may be forgotten otherwise

Mario Carneiro (Nov 17 2022 at 14:07):

I reviewed / fixed the proof

Mario Carneiro (Nov 17 2022 at 14:08):

the short answer is that simp got a bit less powerful in the latest nightly, because it no longer does iota reduction when matching input facts against subterms in the goal

Mario Carneiro (Nov 17 2022 at 14:09):

I think this is a good thing, or at least explainable, because they don't really look like they would match

Mario Carneiro (Nov 17 2022 at 14:10):

it is fixed in most cases by doing dsimp only at h; simp [h] where simp [h] was being used before

Mario Carneiro (Nov 17 2022 at 14:11):

for example if h : ULift.down (ULift.up x) = y, then simp [h] on P x does not result in P y even though it used to, but dsimp only at h; simp [h] will work

Alex J. Best (Nov 17 2022 at 14:16):

Okay yeah that makes sense, doesn't sound like too much of a loss indeed

Yaël Dillies (Nov 17 2022 at 19:03):

Isn't that used quite often actually? At least I have the habit of swallowing up dsimp calls into simp ones.

Yaël Dillies (Nov 17 2022 at 19:03):

That also means simp isn't strictly more powerful than dsimp anymore, right? We really should make a warning about that, then.

Patrick Massot (Nov 17 2022 at 20:01):

I'm not sure I'll be able to come to the meeting today, but I'd be interested to know whether last week I was the only one who had a lot of trouble hearing what Mario was saying. Basically I had to guess a lot of pieces of sentences that got cut. If I'm not the only one then it would be nice to figure out a way to have a better internet connexion for Mario today.

Johan Commelin (Nov 17 2022 at 20:02):

I think zoom is generally better than jitsi when it comes to meetings with > N participants.

Patrick Massot (Nov 17 2022 at 20:03):

I also want to say that it would be very nice for the port effort to put more energy into documenting the new naming conventions and porting tricks.

Mario Carneiro (Nov 17 2022 at 20:09):

The audio was being picked up by the hoskinson center room mic last time. I will be at home today and using my mic so the audio should be better. Can't say the same about the internet, this seems to be a plague that follows me around

Patrick Massot (Nov 17 2022 at 20:10):

Are there planned topics of discussion for today?

Mario Carneiro (Nov 17 2022 at 20:11):

no, we can spend the first 5 minutes working things out, or you can post agenda items here

Patrick Massot (Nov 17 2022 at 20:16):

If you don't have other ideas, I suggest:

If editing the wiki page is too slow we could have people volunteering to do the editing work while you continue live coding/reviewing. Those are only suggestions, I don't the perfect way of making porting easier

Eric Wieser (Nov 17 2022 at 20:47):

I'd be interested in hearing what our current "stop mathlib3 and mathlib4 going out of sync" plan is, and whether there is any CI in the works to aid with that (and if not, what would be useful for me or others to build)

Eric Wieser (Nov 17 2022 at 20:49):

(@Yakov Pechersky seems to either have something in mind, or some foundations, at https://github.com/leanprover-community/mathlib-tools/pull/137)

Yakov Pechersky (Nov 17 2022 at 20:59):

Unfortunately I won't be able to attend today

Eric Wieser (Nov 17 2022 at 21:00):

Is the intent for the meeting link in the top post to be reused?

Mario Carneiro (Nov 17 2022 at 21:00):

https://meet.jit.si/moderated/a58c9883e1b3ef01acd9989d4626b2579d5263d496cacf6e5f3f917699ecb994

Mario Carneiro (Nov 17 2022 at 21:00):

yes

Scott Morrison (Nov 17 2022 at 21:13):

Alex J. Best said:

Did you record  / report these somewhere else, seeing as 624 is merged they may be forgotten otherwise
````
Mario already fixed these in the PR.

Alex J. Best (Nov 17 2022 at 21:14):

Oh yeah sorry we had a whole conversation about it but it got moved to https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/dsimp.20and.20simp/near/310616043

Scott Morrison (Nov 17 2022 at 22:24):

TODO list items from after the mathlib4 porting meeting.

Scott Morrison (Nov 17 2022 at 22:24):

  1. explain in the wiki where to find the mathlib3 sha, and where to put it in your mathlib4 PR

Scott Morrison (Nov 17 2022 at 22:25):

  1. write a wiki section about Lean 4 coercions

Scott Morrison (Nov 17 2022 at 22:25):

  1. write a wiki section explaining OfNat.ofNat vs. Nat.cast

Scott Morrison (Nov 17 2022 at 22:27):

  1. scripts/port_status.py should show the git diff for files that have been modified since their recorded sha (presumably this should be controlled by a flag)

Scott Morrison (Nov 17 2022 at 22:27):

  1. scripts/port_status.py should work regardless of which directory it is run from

Scott Morrison (Nov 17 2022 at 22:28):

  1. CI action for mathlib3 that detects changes to any file containing a mathlib4 synchronization message, and adds a label to the PR.

Scott Morrison (Nov 17 2022 at 22:30):

  1. Currently new files in mathlib3 are only added to #port-status either manually, or if someone copy-pastes the output of port_status.yaml (automatically generated in the current directory when you run scripts/port-status.py) back into the wiki. Either automate this, or decide how to manage this.

Scott Morrison (Nov 17 2022 at 22:33):

  1. CI that watches for mathlib4 PRs marked with the mathlib-port label being merged, then automatically creates a PR to mathlib3 adding the synchronization label to the corresponding files.

Scott Morrison (Nov 17 2022 at 22:34):

  1. Switch to the new yaml format that @Yakov Pechersky has proposed for #port-status, and update all CI tools to use it.

Scott Morrison (Nov 17 2022 at 22:35):

  1. One of: work out lake upload to distribute build artifacts / copy over the mathlib3 build artifact solution / investigate how to do something more fine-grained.

Eric Wieser (Nov 17 2022 at 22:35):

Mind editing those messages to number them?

Scott Morrison (Nov 17 2022 at 22:35):

Perhaps people could add the :working_on_it: or similar emoji if they are "claiming" an item.

Scott Morrison (Nov 17 2022 at 22:37):

(of course, claiming is non-exclusive and non-obligatory :-)

Scott Morrison (Nov 17 2022 at 22:37):

The recording of today's meeting will be available later at https://youtu.be/O90i1nPOEjs.

Eric Wieser (Nov 17 2022 at 22:47):

My plans for 6 and 8 are slightly different to the above, respectively:

  1. CI action for mathlib3 that detects changes to any file containing a mathlib4 synchronization message with a relevant status on the port status wiki, and adds a label to the PR.

.

  1. CI that watches for mathlib4 PRs marked with the mathlib-port label being merged runs nightly and reads the wiki page, then automatically creates a PR to mathlib3 adding the synchronization label to all the corresponding files.

Moritz Doll (Nov 17 2022 at 22:49):

Scott Morrison said:

  1. write a wiki section about Lean 4 coercions

I can do parts of that, but I don't know too many examples of mathlib3 coercions ↦ mathlib4 coercions.

Mario Carneiro (Nov 17 2022 at 22:50):

Nat.cast was discussed in the meeting

Eric Wieser (Nov 17 2022 at 22:51):

(specifically, docs#has_nat_cast and docs#int.of_nat were the Lean3 analogs of two of the cast-like things discussed)

Scott Morrison (Nov 17 2022 at 23:02):

@Eric Wieser, your plan for 6. and 8. sounds better! Thanks. We will need to update again when the yaml format changes, but that should be easy; let's not wait on that.

Eric Wieser (Nov 17 2022 at 23:03):

Yeah, I would guess that most of the work is in the CI glue, and mathlibtools ought to abstract away the rest in a way that's easy to adapt to

Eric Wieser (Nov 17 2022 at 23:04):

7\. involves writing the wiki page which is probably a big more fragile and better to leave until the format change is done

Yakov Pechersky (Nov 17 2022 at 23:05):

I'm sorry I couldn't join. Was there discussion of a "leanproject port" that's similar to a "leanproject pr"? I imagine it takes in at least a mathport and mathlib4 path, and a mathlib3 file name

Scott Morrison (Nov 17 2022 at 23:05):

Yeah. As I wrote the bullet point for 7. I decided that "manage this" was a more plausible outcome than "automate this".

Scott Morrison (Nov 17 2022 at 23:05):

@Yakov Pechersky, no, there wasn't. What would it do?

Yakov Pechersky (Nov 17 2022 at 23:08):

Load the yaml. Check that the file indicated hasn't yet been ported or claimed, according to the yaml. Git checkout branch on mathlib 4. Copy file from mathport to mathlib4 directory (possibly modifying Mathlib.lean). Git push new branch. Read the mathport repo Readme for the hash. Use the gh cli to make a PR. Add a port label. Update the wiki yaml with the PR number and mathlib3 hash.

Yakov Pechersky (Nov 17 2022 at 23:08):

It can do some subset of this initially.

Eric Wieser (Nov 17 2022 at 23:10):

Regarding my comment in the meeting about the danger of conflicts in the port-status; I just tried making parallel edits on adjacent lines and github did the right thing.

Eric Wieser (Nov 17 2022 at 23:11):

I don't think we want people using leanproject on their local machine to update the wiki

Eric Wieser (Nov 17 2022 at 23:11):

Because then if the format changes people with an old version will clobber it

Eric Wieser (Nov 17 2022 at 23:12):

If CI is the only automation that edits it we at least can control versioning

Eric Wieser (Nov 17 2022 at 23:13):

Although maybe the port status page just needs a format version number then the problem goes away

Eric Wieser (Nov 17 2022 at 23:14):

The mathlibtools version number would likely work

Scott Morrison (Nov 17 2022 at 23:21):

Wow, okay, sounds great. :-)

Yakov Pechersky (Nov 17 2022 at 23:34):

Regarding the out-of-date mathlibtools, we can put directly into the tool that if the file is of a newer version, it refuses to run the rest of the port subcommands

Eric Wieser (Nov 17 2022 at 23:48):

Yes, exactly!

Eric Wieser (Nov 18 2022 at 10:48):

I've mostly done 8. in #17600.

Jireh Loreaux (Nov 18 2022 at 13:15):

Yay, no more accidental duplicates.

Moritz Doll (Nov 19 2022 at 01:57):

Scott Morrison said:

  1. write a wiki section about Lean 4 coercions

https://github.com/leanprover-community/mathlib4/wiki#coercions I did not know what to write about the attribute and there might be things missing.

Moritz Doll (Nov 19 2022 at 02:03):

I've also mentioned autoImplicit in a new 'Tips and Tricks` section at the very end

Riccardo Brasca (Nov 20 2022 at 10:59):

Does the script add_port_comments.py really work? I get

Traceback (most recent call last):
  File "/home/ricky/lean/mathlib/scripts/add_port_comments.py", line 1, in <module>
    from mathlibtools.file_status import PortStatus
ImportError: cannot import name 'PortStatus' from 'mathlibtools.file_status' (/home/ricky/.local/lib/python3.9/site-packages/mathlibtools/file_status.py)

Notification Bot (Nov 20 2022 at 12:00):

10 messages were moved from this topic to #mathlib4 > add_port_comments.py by Eric Wieser.

Jireh Loreaux (Nov 21 2022 at 06:18):

Here's another feature for the port_status script it would be nice to have: an option to check all files that have already been ported to see if they have any dubious translations (i.e., things that should have been #alignₓed but were only #aligned). I mention it because I have already made this mistake myself in a couple of places :face_palm:, which I'm about to go and fix.

Checking for this could be as simple as checking out the most recent mathlib3port and doing grep 'warning.*dubious' list-of-files-that-have-been-ported. It would regularly return some false positives (e.g., in files that have been recently ported, they would appear as Yesin the port status wiki, but we would be checking against the last nightly run of mathlib3port). However, it would make it perhaps easy to catch errors like this before they start to get really annoying.

Mario Carneiro (Nov 21 2022 at 06:20):

by the way, I chose the word dubious specifically because it is uncommon (zero hits in mathlib), so grepping for dubious alone should work

Jireh Loreaux (Nov 21 2022 at 14:35):

@Eric Wieser I guess your CI for adding synchronization labels isn't running because it needs a new release of mathlibtools?

Eric Wieser (Nov 21 2022 at 14:36):

It should run nightly

Eric Wieser (Nov 21 2022 at 14:36):

Someone has to approve the PR it creates though

Jireh Loreaux (Nov 21 2022 at 14:37):

What does it put in the PR subject line?

Eric Wieser (Nov 21 2022 at 14:37):

#17642

Eric Wieser (Nov 21 2022 at 14:37):

Possibly something lousy

Eric Wieser (Nov 21 2022 at 14:38):

You can run it manually at https://github.com/leanprover-community/mathlib/actions/workflows/add_port_comment.yml

Eric Wieser (Nov 21 2022 at 14:38):

It's possible I didn't configure the cron job correctly

Jireh Loreaux (Nov 21 2022 at 14:41):

No, I just didn't realize this is how it works. Thanks. Is nightly 0 UTC?

Eric Wieser (Nov 21 2022 at 15:44):

Feel free to make a PR to adjust the title of the bot PRs

Jireh Loreaux (Nov 21 2022 at 15:44):

what you wrote is fine, it just wasn't the first thing that came to mind for me (synchronization, freeze)

Eric Wieser (Nov 21 2022 at 16:21):

On the assumption that you're much more involved in actually porting than I am, what first comes to mind for you is likely much better than whatever I wrote to get on with fighting CI

Moritz Doll (Nov 24 2022 at 09:25):

is there a meeting happening tomorrow? I vaguely remember Mario saying that he has no time and I don't how much the time might interfere with a weird american ritual.

Riccardo Brasca (Nov 24 2022 at 09:29):

We are talking about right? (For me this is "today"...)

Jireh Loreaux (Nov 24 2022 at 09:44):

If there is, I won't be there, and likely neither will many people in the US. That "weird american ritual" often encompasses most of the day, at least in some form.

Patrick Massot (Nov 24 2022 at 11:24):

For people outside the USA: the weird ritual mentioned by Jireh is thanksgiving. I don't really know what it means but indeed I noticed that American people tend to be rather serious about not working on that day, even for fun.

Scott Morrison (Nov 24 2022 at 15:02):

I won't be there. I'm in the US at the moment with family, but my dispensation to be on the computer will probably expire shortly. :-)

Arien Malec (Nov 24 2022 at 20:27):

One time I suggested to some colleagues in Germany that traveling on Easter Monday shouldn't be a problem & I quickly learned about "a weird German ritual".

Riccardo Brasca (Dec 01 2022 at 12:55):

Are we meeting at ?

Scott Morrison (Dec 01 2022 at 14:34):

I will probably be there, but don't wait for me, as I may have weather delays!

Shreyas Srinivas (Dec 01 2022 at 19:42):

Hi a newbie trying to port data.set.basic.
May I ask what the meeting is about and who is invited?

Riccardo Brasca (Dec 01 2022 at 19:45):

Everyone is more than welcome! Last time we discussed several problems. If you have questions it's a good idea to be there... If the experts will be there :thinking:

Shreyas Srinivas (Dec 01 2022 at 19:47):

Thanks a lot. I will try to make it there

Scott Morrison (Dec 01 2022 at 21:00):

https://meet.jit.si/moderated/a58c9883e1b3ef01acd9989d4626b2579d5263d496cacf6e5f3f917699ecb994

Scott Morrison (Dec 01 2022 at 21:06):

I keep getting kicked out of the meeting, I suspect just because my network connection is poor.

Scott Morrison (Dec 01 2022 at 21:12):

I think I'm in the same situation as Johan. I haven't had any audio come through, just connecting noises.

Riccardo Brasca (Dec 01 2022 at 21:16):

I changed browser to solve this

Johan Commelin (Dec 01 2022 at 21:18):

Would it be an option to try Zoom next time?

Floris van Doorn (Dec 01 2022 at 21:18):

It didn't work for me in Chrome, but it is working now in Firefox

Scott Morrison (Dec 01 2022 at 21:21):

No luck in Chrome, Safari, or Firefox.

Kevin Buzzard (Dec 01 2022 at 21:22):

Firefox working fine for me on Ubuntu

Jireh Loreaux (Dec 01 2022 at 21:24):

I'm also having issues in Opera. Firefox works for me.

Eric Wieser (Dec 01 2022 at 21:27):

Chrome and Edge are both a no for me

Jireh Loreaux (Dec 01 2022 at 21:28):

I have firefox 106.0.5 installed

Eric Wieser (Dec 01 2022 at 21:28):

I get as far as seeing a black box labelled @Thomas Murrills's screen, then the call restarts

Jireh Loreaux (Dec 01 2022 at 21:28):

That's what I was seeing in Opera too, which is Chrome-based.

Kevin Buzzard (Dec 01 2022 at 21:33):

Next week move to Zoom?

Moritz Doll (Dec 01 2022 at 22:24):

fyi the bikeshedding is put to a vote at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/.5BRFC.5D.20refine_struct.20functionality.20via.20new.20.3F.2E.2E.20syntax/near/313385470

Scott Morrison (Dec 08 2022 at 10:08):

Do we have a plan for the next meeting? I'm presuming it is . Could someone please plan to host a zoom meeting, and post a link for us?

Mario Carneiro (Dec 08 2022 at 10:13):

conflicts with an all-hands meeting at MSR, so I proposed in the meeting last time but that's pretty rough on the Australians IIUC. Should we try for this time?

Scott Morrison (Dec 08 2022 at 10:14):

The earlier time is fine with me. Not sure if there are others in nearby timezones. But the later time is fine too.

Mario Carneiro (Dec 08 2022 at 10:18):

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

Scott Morrison (Dec 08 2022 at 10:40):

Let's go with !

Kevin Buzzard (Dec 08 2022 at 10:43):

I have a mild preference for the later time but I'm not suggesting we change it this week now it's been announced.

Johan Commelin (Dec 08 2022 at 20:08):

FYI: meeting started

Mario Carneiro (Dec 08 2022 at 20:11):

Sarah's list of tactics: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Tactic.20porting.20assignments/near/313711324

Kevin Buzzard (Dec 15 2022 at 11:47):

Is there a porting meeting this week? I am happy with any of the suggested times (the old time, the old time +-1 hour) but my family want to know when I'm coming home from work. Will the Zoom link be the same?

Johan Commelin (Dec 15 2022 at 18:39):

:this:

Jireh Loreaux (Dec 15 2022 at 18:44):

I'll show up.

Riccardo Brasca (Dec 15 2022 at 19:05):

I will be there... but when?

Mario Carneiro (Dec 15 2022 at 19:06):

oops, same as last time =

Johan Commelin (Dec 15 2022 at 20:00):

@Mario Carneiro With the same zoom link?

Scott Morrison (Dec 15 2022 at 21:34):

Re: @Patrick Massot's question about documentation of the colouring schemes for the port progress graphs:

https://github.com/leanprover-community/mathlib-tools/pull/158

Patrick Massot (Dec 15 2022 at 21:54):

I merged that PR. But I think the most useful thing would be to edit https://github.com/leanprover-community/mathlib4/wiki/Porting-wiki#porting-procedure step 1 to say that looking at graphs is more currently useful than looking at the list and stick the color explanation there.

Scott Morrison (Dec 16 2022 at 02:24):

I have substantially rewritten that section of the wiki page. If someone can review and let me know about problems, that would be great.

Patrick Massot (Dec 16 2022 at 09:57):

It looks great. I just added Mario's find command.

Johan Commelin (Dec 22 2022 at 19:14):

Will there be another meeting tonight?

Mario Carneiro (Dec 22 2022 at 19:16):

, let's take the next week off though so that people can do the holiday thing

Johan Commelin (Dec 22 2022 at 20:12):

Meeting started

Jireh Loreaux (Dec 22 2022 at 20:23):

Sorry, I'm already doing the holiday thing, so I'll miss today.

Jireh Loreaux (Dec 22 2022 at 20:23):

If there's a recording, please post the link and I'll watch it later.

Thomas Murrills (Dec 22 2022 at 20:59):

whoops, in my case, I forgot it had been moved to 3! 4 is anchored in my brain for some reason. see you all whenever the next meeting is, and happy holidays! :)

Mario Carneiro (Dec 22 2022 at 21:52):

https://cmu.zoom.us/rec/share/Wk86mn6ia7f5loXNjrRYMIV1YzrUAXvUD_qKQ1X1NIsuo5em7xPFzEBGtVq0i_5w.vqhOaKUiu4zlQ7q8?startTime=1671739144000
Passcode: UH#Z8X?t

Shreyas Srinivas (Dec 22 2022 at 21:57):

Is there some more info on this feature to write equivalent definitions, (one for the compiler and one for human use)?

Shreyas Srinivas (Dec 22 2022 at 21:57):

Shreyas Srinivas said:

Is there some more info on this feature to write equivalent definitions, (one for the compiler and one for human use)?

In the docs for instance

Mario Carneiro (Dec 22 2022 at 22:28):

It's the @[csimp] attribute

Johan Commelin (Jan 05 2023 at 18:36):

Meeting in ~90 mins:

Henrik Böving (Jan 05 2023 at 19:58):

Mario Carneiro said:

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

Is this still the meeting link?

Johan Commelin (Jan 05 2023 at 20:11):

    2014 src/data/real/ennreal.lean
    2061 src/ring_theory/power_series/basic.lean
    2079 src/data/matrix/basic.lean
    2101 src/topology/algebra/module/basic.lean
    2106 src/algebraic_geometry/open_immersion.lean
    2122 src/measure_theory/constructions/borel_space.lean
    2142 docs/references.bib
    2196 src/linear_algebra/basic.lean
    2209 src/analysis/calculus/deriv.lean
    2229 src/analysis/special_functions/pow.lean
    2248 src/category_theory/limits/shapes/pullbacks.lean
    2273 src/measure_theory/function/conditional_expectation/basic.lean
    2355 src/ring_theory/ideal/operations.lean
    2371 src/data/multiset/basic.lean
    2378 src/set_theory/ordinal/arithmetic.lean
    2429 src/analysis/inner_product_space/basic.lean
    2449 src/computability/turing_machine.lean
    2489 src/tactic/core.lean
    2511 src/data/finset/basic.lean
    2611 src/order/filter/basic.lean
    2676 src/data/buffer/parser/basic.lean
    2711 src/measure_theory/integral/interval_integral.lean
    2713 src/topology/order/basic.lean
    2956 src/measure_theory/function/lp_space.lean
    3032 src/measure_theory/integral/lebesgue.lean
    3086 src/topology/metric_space/basic.lean
    3132 src/analysis/calculus/fderiv.lean
    3222 src/group_theory/subgroup/basic.lean
    3494 src/analysis/calculus/cont_diff.lean
    4126 src/measure_theory/measure/measure_space.lean
    4204 src/data/list/basic.lean

David Renshaw (Jan 05 2023 at 20:12):

4204 src/data/list/basic.lean

all downhill from here

Scott Morrison (Jan 12 2023 at 19:53):

Is there another meeting about to happen now?

Johan Commelin (Jan 12 2023 at 19:56):

sounds good to me

Mario Carneiro (Jan 13 2023 at 04:04):

Sorry for missing the meeting, someone really wanted to finish Data.Multiset.Basic and I ended up in the wrong timezone again ;) . Here's the recording link:

https://cmu.zoom.us/rec/share/ILUT_80UqBLzTrsG0iPVJs4xC7Hmqg1N3ULZy8yzCMG8LD21XhzB2mnJPcVejxui.4XHAUmzBM4-f0m0g?startTime=1673553487000
Passcode: N9Vp+7n8

Johan Commelin (Jan 13 2023 at 06:22):

/me :see_no_evil: :clock: :in_bed: :cross_mark: :working_on_it: :working_on_it: :working_on_it: :tada: :zzz:

Evgenia Karunus (Jan 13 2023 at 12:41):

@Mario Carneiro, I think some people wanted you to take a look at their code last time; do you think we could have another 1-hour meeting series, e.g. right before the current porting meeting, where we can ask you questions about porting/would you prefer one-on-one calls/something else?

Mario Carneiro (Jan 13 2023 at 12:41):

one-on-one sounds best

Johan Commelin (Jan 19 2023 at 17:53):

I will not be able to make it today.

Heather Macbeth (Jan 19 2023 at 18:37):

I'll be there but late.

Chris Hughes (Jan 19 2023 at 19:59):

Is the meeting now?

Mario Carneiro (Jan 19 2023 at 21:45):

https://cmu.zoom.us/rec/share/mGfpugCNTgzS9qGSAzvYIWZ-ALPSe2z8js45iSSk2bUCq3uzk5KYb6tkc8SK5uf1.xrB-E6ejVRnb29qD?startTime=1674158378000
Passcode: tsp*rgj9

Jireh Loreaux (Jan 26 2023 at 19:08):

Please confirm: we're meeting in a little less than an hour, right?

Thomas Murrills (Jan 26 2023 at 19:26):

(Sorry, I will not be there today, as I’m on a trip this week!)

Mario Carneiro (Jan 26 2023 at 21:34):

https://cmu.zoom.us/rec/share/xUEFxJaCb2fvCqQvpJsdr_JgzL-zrl_kR-qJDPTNZrP-qB_58eXXlBQY6cMbWptF.86ViC07Hvco6xKeK?startTime=1674763150000
Passcode: .2vtyS3$

Yury G. Kudryashov (Jan 27 2023 at 00:25):

I joined the porting effort but I can't attend the meetings because I have teaching - .

Yury G. Kudryashov (Jan 27 2023 at 00:26):

(every Tuesday and Thursday)

Mario Carneiro (Jan 27 2023 at 00:36):

Since the semester might have disrupted others' schedules as well, let's take a poll to see if there is a different day that works for more people:

Mario Carneiro (Jan 27 2023 at 00:36):

/poll What day should the porting meeting be on?
Monday
Tuesday
Wednesday
Thursday
Friday

Yury G. Kudryashov (Jan 27 2023 at 00:40):

What time of day are we talking about? Should I create a more detailed poll on doodle.com?

Mario Carneiro (Jan 27 2023 at 00:46):

same time,

Mario Carneiro (Jan 27 2023 at 00:47):

given the international crowd the time of day isn't too flexible

Yury G. Kudryashov (Jan 27 2023 at 00:52):

(deleted)

Yury G. Kudryashov (Jan 27 2023 at 00:54):

(deleted)

Johan Commelin (Feb 02 2023 at 20:05):

Mario Carneiro said:

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

Mario Carneiro (Feb 02 2023 at 21:07):

https://cmu.zoom.us/rec/share/KcYImFOqA1gdSc_qXEPukmkkOMu-e9zndraCKP4EsT6iD1JpqJbt5omWNq2Cx3fI.zeWYueNRrHFXlwHC?startTime=1675368059000
Passcode: AYq+5HXK

Mario Carneiro (Feb 02 2023 at 21:08):

Based on the poll results, we'll be meeting on Mondays starting next week

Thomas Murrills (Feb 06 2023 at 19:19):

(Unfortunately I have an appointment at 2:30, so I might miss the meeting or only arrive in the latter half)

Johan Commelin (Feb 06 2023 at 20:03):

meeting started

Eric Wieser (Feb 06 2023 at 20:08):

@Mario Carneiro, are you planning to join us?

Mario Carneiro (Feb 06 2023 at 22:12):

Sorry for missing the meeting this week. Here's the recording:

https://cmu.zoom.us/rec/share/bdOGzXdCfjuMh8aENg26nAnk1zURO1Get1HlJ1tqz-N_up2DQ0OVfZS4hpTXbZel.MYXF7WxdfXJtYiqc?startTime=1675713659000
Passcode: &a20kcXe

Notification Bot (Feb 13 2023 at 16:02):

26 messages were moved from this topic to #mathlib4 > Already-forward-ported files by Eric Wieser.

Mario Carneiro (Feb 13 2023 at 16:25):

Since many lean people are at the IPAM workshop this week, I propose we cancel today's meeting.

Eric Wieser (Feb 20 2023 at 17:27):

Are we meeting at today? Or are people travelling from IPAM?

Kevin Buzzard (Feb 20 2023 at 17:57):

Let's assume everyone travelled over the weekend :-)

Johan Commelin (Feb 20 2023 at 18:52):

I don't have any input for the meeting.

Johan Commelin (Feb 20 2023 at 18:52):

Do others have questions that they want to discuss?

David Renshaw (Feb 20 2023 at 19:00):

what are the current blockers?

Johan Commelin (Feb 20 2023 at 19:05):

Do you mean lean 4 issues? Or porting PRs? In general, I guess the lack of eta-for-classes is causing trouble.

Eric Wieser (Feb 20 2023 at 20:19):

We've discovered that in Mario's absence we can't share screens!

Jireh Loreaux (Feb 20 2023 at 20:58):

oh I thought we weren't meeting?

David Renshaw (Feb 20 2023 at 20:58):

we're kinda having a co-working session :)

Kevin Buzzard (Feb 20 2023 at 23:35):

I got bicategory.functor compiiling thanks to Matt :D

Mario Carneiro (Feb 21 2023 at 00:14):

Sorry about the sharing screens issue. I will try to send out some co-host invites to other maintainers, since there doesn't seem to be a way to enable screen sharing which is sticky over meetings

https://cmu.zoom.us/rec/share/718JCNE9F5zDIbjpPdM_fNa3AaXrUFXbgO71-KYAdqSIJ9-0si2IMe9q80z_PhJq.D2sw7VEdMylmf_xb?startTime=1676923177000
Passcode: &.L785pf

David Renshaw (Feb 27 2023 at 20:11):

Johan Commelin said:

Mario Carneiro said:

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

meeting now

Mario Carneiro (Feb 27 2023 at 21:34):

https://cmu.zoom.us/rec/share/zB5iaIqLJmiNCYZ6PR4ddXCPOyB5HV_1sy0OBsCq2rhKIHFdC_VIuA-IvGdWVtBE.g9ncB9TbiXcgorh9?startTime=1677528003000
Passcode: U&5&49zS

Mario Carneiro (Mar 06 2023 at 23:27):

https://cmu.zoom.us/rec/share/GD7lq_GNxalARWCm8ZsL9LfUJEPCgC-_VYYK_hlydbLFxxKTkPVvZ-uanvasRE4M.3pkJFhcrQUNApgBS?startTime=1678132827000
Passcode: V9SK=m7#

Eric Wieser (Mar 13 2023 at 18:18):

?

Matthew Ballard (Mar 13 2023 at 18:19):

Dang daylight savings time

Jeremy Tan (Mar 13 2023 at 18:20):

can't attend, that's when I'm asleep

Eric Wieser (Mar 13 2023 at 18:21):

Matthew Ballard said:

Dang daylight savings time

In my timezone that's the same time as always (in the UK it switches Mar 26th). If that's not the case in other people's, then perhaps we should pick a new time

Matthew Ballard (Mar 13 2023 at 18:23):

We will align again shortly. I say stick with it until then

Eric Wieser (Mar 13 2023 at 18:25):

I say let @Mario Carneiro decide

Reid Barton (Mar 13 2023 at 18:25):

Yes, DST in the US started yesterday.

Jeremy Tan (Mar 13 2023 at 18:26):

My country, Singapore, has no DST

Matthew Ballard (Mar 13 2023 at 18:26):

I am flexible so have no strong preference. I have to juggle a meeting with student so knowing sooner would help

Eric Wieser (Mar 13 2023 at 18:27):

What would the alternate time be?

Matthew Ballard (Mar 13 2023 at 18:27):

is 3 EDT now

Gabriel Ebner (Mar 13 2023 at 18:42):

I thought we're doing meetings at since last week? (i.e., later than before?)

Eric Wieser (Mar 13 2023 at 18:43):

I don't see a message about that above

Gabriel Ebner (Mar 13 2023 at 18:44):

Ah, Kevin told me the time got changed and I assumed Mario's post from last week ^^ is the new time.

Mario Carneiro (Mar 13 2023 at 19:03):

I was assuming it starts now:

Thomas Murrills (Mar 13 2023 at 19:09):

Oh, I thought an hour from now based on the thread. I can be there shortly if we’re meeting now, though…are we?

Mario Carneiro (Mar 13 2023 at 19:10):

we are

Eric Wieser (Mar 13 2023 at 19:12):

I'll probably miss the whole thing in that case

Mario Carneiro (Mar 13 2023 at 21:03):

https://cmu.zoom.us/rec/share/efKAc4UpLWfy1JH6EWxJRefPuuItzM56d2M9ylMbgANuGbbTGAD_kY7rREgixEe1.5GhcB789C_uyxCoQ?startTime=1678734128000
Passcode: 2!FJ7GSt

Next week we'll be meeting at the same time , but let's do another poll to see whether another time of day will be better going forward:

Mario Carneiro (Mar 13 2023 at 21:07):

/poll When should we meet after daylight savings (on mondays)
10 AM PDT = 1 PM EDT = 7 PM CEST
11 AM PDT = 2 PM EDT = 8 PM CEST
12 PM PDT = 3 PM EDT = 9 PM CEST
1 PM PDT = 4 PM EDT = 10 PM CEST
2 PM PDT = 5 PM EDT = 11 PM CEST

Gabriel Ebner (Mar 20 2023 at 01:45):

I won't be able to come tomorrow since we have a company event.

Scott Morrison (Mar 20 2023 at 19:01):

@Mario Carneiro, is there meant to be a meeting now?

Mario Carneiro (Mar 20 2023 at 19:01):

yes

Eric Wieser (Mar 20 2023 at 19:01):

Mario Carneiro said:

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

alex chan (Mar 20 2023 at 19:08):

Is this private meeting, can I join ??

Scott Morrison (Mar 20 2023 at 19:10):

@alex chan, Eric just posted the link in the other thread.

Mario Carneiro (Mar 20 2023 at 20:43):

https://cmu.zoom.us/rec/share/9n5VBm-Bfr_4sn_ZBTaP2v7OXt1KKwplE1eiUaXg_z3CxiH4WaNLEBPl5JIeitOB.yzj5ufzzCdejLWFg?startTime=1679338782000
Passcode: Wx5t6G=0

Notification Bot (Mar 21 2023 at 11:10):

2 messages were moved here from #mathlib4 > port progress by Anne Baanen.

Scott Morrison (Mar 27 2023 at 11:33):

Did we decide a time?

Kevin Buzzard (Mar 27 2023 at 11:48):

...asks the person who would prefer it not be 5am their time and who is probably going to bed soon. I am happy with any time between approx 6 and 10 hours from now.

Eric Wieser (Mar 27 2023 at 11:55):

The poll above suggests as the winning vote

Jeremy Tan (Mar 27 2023 at 12:08):

(which is 3am my time)

Scott Morrison (Mar 27 2023 at 19:02):

The meeting link is
Mario Carneiro said:

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

as usual.

Mario Carneiro (Mar 27 2023 at 20:18):

https://cmu.zoom.us/rec/share/TomcR5TzQHQRYbCWBS9epem2yAvZUsnPfEFrK3NyXbOgo_qVY6fpjqitjY0oba_D.as5EaqTA1IR2xf63?startTime=1679943633000
Passcode: sJ$+^6Lc

Scott Morrison (Apr 03 2023 at 11:10):

Next meeting at ! :in_bed: :zzz: :alarm_clock:

Kevin Buzzard (Apr 03 2023 at 13:15):

(I'll be missing the next two, I'm in India and this is past my bedtime)

Mario Carneiro (Apr 03 2023 at 20:46):

https://cmu.zoom.us/rec/share/MGhoRl6AY4o7KCRBQefTIm7QgevKLp2nBX8OTx5KTvjEfklZe9kFqE7fXm-CdqHn.fyE7LMZNxR6HRU8a?startTime=1680548385000
Passcode: +B7!gM0#

Mario Carneiro (Apr 10 2023 at 21:07):

https://cmu.zoom.us/rec/share/aWBe3t38z38VP9v3C5wypNI8Uo-uxYO9UObyLqr9DlsWOvKBTQ9I6FtuTwT72Qf6.yvzco00Augkhs7fc?startTime=1681153165000
Passcode: n8qUk@g6

Thomas Murrills (Apr 17 2023 at 18:57):

(I’ll be missing at least part of this meeting; if I can, I’ll join later on :) )

Mario Carneiro (Apr 17 2023 at 23:53):

https://cmu.zoom.us/rec/share/6pSeTBcuv_5hRLjkQnvjoXUo0gKijGDptHlFFtcgfdQYOlxuv-12Hvnzf8zmgrSt.xp9MH03hoPoHB5jm?startTime=1681757930000
Passcode: ^12u+PE3

Mario Carneiro (Apr 18 2023 at 03:21):

@Eric Wieser You mention in the meeting that you wanted to get information about parser combinators like ,* and ppGroup. Hover and go-to-definition actually works in both cases, but you have to use import Lean or else it won't work because the constants it wants to link to are not in the environment.

import Lean

           -- v click here to go to Lean.Parser.ppGroup
syntax "foo" ppGroup("bla"),* : term
                        -- ^ hover talks about sepBy, although ctrl-click doesn't work

Mario Carneiro (Apr 18 2023 at 03:21):

compare:

           -- v hover talks about sepBy, no ctrl-click
syntax "foo" ppGroup("bla"),* : term
                        -- ^ hover talks about sepBy, no ctrl-click

Scott Morrison (Apr 24 2023 at 10:52):

I heard there was discussion at the last meeting of pushing the meeting time later by an hour. If anyone is able to confirm or deny, that would be great, so I can set my alarm clock. :-)

Eric Wieser (Apr 24 2023 at 10:54):

I can confirm in the last meeting that no one present (@Gabriel Ebner, @Kevin Buzzard, @Matthew Ballard, me, maybe some others who don't appear in the zoom transcript) objected to pushing back by an hour

Eric Wieser (Apr 24 2023 at 10:58):

But it sounds like we forgot to do a poll / make an announcement and now we're left in the same position as always that people aren't simultaneously awake to agree a new time at short notice

Scott Morrison (Apr 24 2023 at 11:05):

Okay, I will wake up really early again, and take responsibility for running the poll after the meeting. :-)

Eric Wieser (Apr 24 2023 at 19:07):

Happening now

Scott Morrison (Apr 24 2023 at 20:04):

Trying again to move the meeting one hour later:

Scott Morrison (Apr 24 2023 at 20:08):

/poll Future mathlib4 porting meetings
1pm PDT, 4pm EDT, 10pm CEST, 6am AEST
noon PDT, 3pm EDT, 9pm CEST, 5am AEST

Mario Carneiro (Apr 25 2023 at 06:17):

https://cmu.zoom.us/rec/share/CFkkDwoogHQpxDV5wrwa6jV7Q8Oq7hRykmEF1Lfd_Z4_f5nQwOOqsgCmvI1JziGO.aw5dEYGG29VCJSDv?startTime=1682362741000
Passcode: 6PN@0=RH

Scott Morrison (May 01 2023 at 05:05):

Okay, this poll came out the way I wanted, so: the next mathlib porting meeting will be at !

Mario Carneiro (May 01 2023 at 21:47):

https://cmu.zoom.us/rec/share/MUBVFm33iGZnRiCvvtp1a8nx3deZPTY7J5oYRnhM1dvERce2o4ZSvdw8XLN8rK4-.aXMjXfev9yQ4v9rq?startTime=1682971245000
Passcode: s9Yy?GVE

Thomas Murrills (May 01 2023 at 21:54):

Here's the rfl tactic PR that we discussed in the meeting: !4#3758 (currently awaiting CI)

Scott Morrison (May 01 2023 at 21:56):

Link broken?

Thomas Murrills (May 01 2023 at 21:56):

Oops, transposed the last two digits. :) fixed now!

Scott Morrison (May 01 2023 at 21:59):

There's a suggestion from Mario, otherwise looks good to me. How about run !bench once CI is done?

Thomas Murrills (May 02 2023 at 01:27):

Continued in #mathlib4 > !4#3758 – rfl refactor & fix ! :)

Scott Morrison (May 08 2023 at 13:16):

A reminder the next meeting is coming up at !

Mario Carneiro (May 09 2023 at 01:58):

https://cmu.zoom.us/rec/share/zR-VKKIym_l_RI9fswq-qTpsdYk999QE2VGkRLoFQFqiOID8U6OT2FyPtUUZjK7w.fjj60cjItaYh7DjS?startTime=1683575955000
Passcode: ?x0&W8#y

Kevin Buzzard (May 15 2023 at 19:59):

I assume we're meeting in 1 minute from now.

Mario Carneiro (May 15 2023 at 21:51):

https://cmu.zoom.us/rec/share/gbsh6P9sRVfLbfxR046UxVOMIC0f9_XcCCyNZiUlD7chxUO1cK3AGYaXsU2ojekB.QjsI3rrnXP9f_Vyq?startTime=1684180746000
Passcode: auVV2su*

Mario Carneiro (May 15 2023 at 22:15):

@Kevin Buzzard You asked about searching for #aligns in the meeting to translate something where you know the lean 3 name. While you can grep for it, you can also use the #lookup3 command

Kevin Buzzard (May 22 2023 at 12:06):

Are we meeting today in about seven hours?

Kevin Buzzard (May 22 2023 at 12:07):

Me Scott Johan Matt Heather Adam... are all physically in Banff

Matthew Ballard (May 22 2023 at 12:19):

There is a nice talk at also

Jireh Loreaux (May 22 2023 at 13:25):

I'm at a conference and won't be available today.

Eric Wieser (May 22 2023 at 19:56):

Kevin Buzzard said:

Me Scott Johan Matt Heather Adam... are all physically in Banff

Is that an argument for or against meeting?

Mario Carneiro (May 22 2023 at 20:07):

looks like most people aren't available, so let's cancel this week

Eric Wieser (May 22 2023 at 20:07):

I think @Kevin Buzzard also did the time calculation wrong above, it was 8 hours (now) not 7 (an hour ago).

Kevin Buzzard (May 29 2023 at 19:58):

Are we meeting in 3 minutes? Hopefully I didn't do the calculation wrong this time (last time I forgot we'd recently added 1 hour to the start time)

Eric Wieser (May 29 2023 at 20:29):

Can we make a linkifier for the zoom link and put it in the thread title so we don't have to scroll up each week?

Yury G. Kudryashov (May 29 2023 at 20:38):

It seems that I missed the meeting again. I shoulld set up an alarm.

Mario Carneiro (May 29 2023 at 21:22):

Eric Wieser said:

Can we make a linkifier for the zoom link and put it in the thread title so we don't have to scroll up each week?

I usually put the link in a calendar notification for this kind of thing

Mario Carneiro (May 29 2023 at 22:18):

https://cmu.zoom.us/rec/share/D0ojneXcxYzY1F0qw5ih6LXlOxkTA-vaONNo6XB5mfgfvXfYPZoG_BOJRl5H3D9e.HwrohSnLPMAziGzt?startTime=1685390450000
Passcode: %0*i?w+K

Kevin Buzzard (May 29 2023 at 23:09):

Bonus for working out what the passcode does when interpreted as a regex

Scott Morrison (Jun 05 2023 at 12:26):

Next mathlib porting meeting at !

Scott Morrison (Jun 05 2023 at 20:46):

A quiet meeting today. Discussed and needing follow up:

Alex J. Best (Jun 05 2023 at 21:00):

I think this is as minimal as I can find

variable {ι E : Type} (I : ι)

local notation "ℝ" => ι

def ha (_I : ι) (_f :   E) : Prop := True

variable {f :   E}

theorem tndsto (h : ha I f) : True := trivial
#check tndsto

Scott Morrison (Jun 05 2023 at 21:01):

That's pretty minimal. :-) Want to create a Lean4 issue?

Alex J. Best (Jun 05 2023 at 21:07):

https://github.com/leanprover/lean4/issues/2257

Mario Carneiro (Jun 05 2023 at 21:16):

https://cmu.zoom.us/rec/share/Spp7PuOj9pi3j7oXITZvKc6AGkOAVaJVw-MTVZco9UhGci-_W2XWr-1zOmwcekuh.QUmS52_T2UGcptwz?startTime=1685995251000
Passcode: 9D%!jQa1

Mario Carneiro (Jun 05 2023 at 21:28):

By the way, lean4#2257 looks pretty similar to lean4#2226

Scott Morrison (Jun 06 2023 at 02:24):

no_index reminds me of something that is maybe worth asking about again.

A common (anti)pattern in category theory is that we have @CategoryStruct.comp D 𝒟 X Y Z f g, and would like to rewrite by a lemma that says @CategoryStruct.comp D 𝒟 X' Y' Z' f g = h, where here the fs and gs appearing are syntactically identical, but the objects these are morphisms between have changed from X Y Z to some definitionally equal objects X' Y' Z'.

Because of the difference in the implicit arguments X Y Z, rw won't fire, and we resort to erw. However this is overkill: the explicit arguments match identically, so we "know" the implicit arguments must match definitionally.

rw is "just" a wrapper around kabstract which is in turn a wrapper around isDefEq, so I think asking for any more powerful behaviour in rw here comes down to asking about isDefEq. Does it even make sense to ask if we can test def-eq-ness in situations like this by comparing the explicit arguments before the implicit ones?

Scott Morrison (Jun 06 2023 at 02:25):

If we could make some improvement on this it would massively improve life in e.g. algebraic geometry, where this issue arises all the time.

Scott Morrison (Jun 06 2023 at 02:26):

e.g. !4#4693

Eric Wieser (Jun 06 2023 at 09:36):

What are X and X' in this example?

Scott Morrison (Jun 12 2023 at 11:04):

The meeting link is
Mario Carneiro said:

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

as usual.

The next meeting is . Likely I won't make it, as I'm going to try to catch some of the PNAS meeting, which is at a ridiculous time for me.

Kevin Buzzard (Jun 12 2023 at 11:15):

The PNAS meeting finishes just in time for the porting meeting, right?

I'm at two conferences this week :-/ and the meeting clashes with the conference dinner for one of them so I'll probably not make it either.

Mario Carneiro (Jun 12 2023 at 21:16):

https://cmu.zoom.us/rec/share/fatk9LUh-kgaIMAvmlfhDCNRXebBA7eIVCBNRoteutIFBXHwMhWeOVzHiqG4cO89.MJzhslLq7FWJwuta?startTime=1686600013000
Passcode: 3Dp#JE!+

Scott Morrison (Jun 19 2023 at 12:23):

Next meeting at !

Damiano Testa (Jun 19 2023 at 20:01):

What is the meeting link?

Riccardo Brasca (Jun 19 2023 at 20:01):

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09

Mario Carneiro (Jun 19 2023 at 21:13):

https://cmu.zoom.us/rec/share/04HkxlGzBDMV9ZqbgFVrB5-PFJfcYyRAAerdt7vPUccEapaeB0Znj-OwPr5hvx9k.XrrRIAz2TsayhGTn?startTime=1687204762000
Passcode: v*M2n.i9

Notification Bot (Jun 20 2023 at 22:06):

42 messages were moved from this topic to #mathlib4 > #stalled PRs by Scott Morrison.

Scott Morrison (Jun 26 2023 at 11:29):

The meeting link is

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

as usual, at .

Mario Carneiro (Jun 26 2023 at 22:15):

https://cmu.zoom.us/rec/share/B9YS_HX_Ex11HAisB3lDaOibzgqfrDIEP0C5aqV3SDA3HLwo-Co5007qdLOvdPG7.5YYflG9gs7lEfxUk?startTime=1687809696000
Passcode: ^b0k=3qh

Scott Morrison (Jun 26 2023 at 22:35):

Today's porting meeting was all triage: we went through the #port-dashboard, deciding what to do with the "old stuff", and then started going through the tactic porting tracking issue #430 to see what still needed to be done.

I'm going to now post a whole list of individual TODO items. If you are able to do one of these, please either claim it with a :working_on_it:, or just tell us that you've done it with a :check:.

Scott Morrison (Jun 26 2023 at 22:36):

  • category_theory.limits.constructions.over.default is a "fake" default file that actually has content. It should be renamed in mathlib3. (And we'll subsequently port it like anything else.)

Scott Morrison (Jun 26 2023 at 22:39):

Scott Morrison (Jun 26 2023 at 22:41):

  • control.random, testing.slim_check.gen, testing.slim_check.sampleable, and testing.slim_check.testable have all been ported by hand (and everything that is needed for slim_check works), so we should just add a header to the mathlib4 file so the dashboard know this is completed.

Scott Morrison (Jun 26 2023 at 22:42):

  • data.buffer.parser contains code parsing strings into arrays, and contains some proofs about its behaviour, not just meta code. We would eventually like to have this, but it needn't be ported now. The proposal is to create a mathlib4 issue saying at least "We would like a replacement implementation of mathlib3's data.buffer.parser", and to port it as an empty file, containing just the header and a link to the issue.

Scott Morrison (Jun 26 2023 at 22:44):

  • data.rat.meta_defs we think has been entirely ported, but the code is spread amongst different locations (and this is fine). Proposal: port as an empty file, containing just a header, and either a TODO to track them down, or references to the places the replacement code now lives.

Scott Morrison (Jun 26 2023 at 22:45):

  • for all the files on #port-dashboard with array in the name, port them so that they are written in terms of the new Array. Still #align declarations, even though they are now talking about a different type! (See zulip discussion.)

Scott Morrison (Jun 26 2023 at 22:45):

  • init.data.list.instances should be ported as a file with just a header and #align statements

Scott Morrison (Jun 26 2023 at 22:46):

  • all the RBTree files can be ported as empty files, just with a header, as all the content we want is in Std already.

Scott Morrison (Jun 26 2023 at 22:50):

Scott Morrison (Jun 26 2023 at 22:51):

  • update the tactic porting tracking issue #430 to reflect discussion in the meeting

Scott Morrison (Jun 26 2023 at 22:52):

  • write a description of the current meta PRs on the #queue, and solicit additional reviews as needed

Scott Morrison (Jun 26 2023 at 22:52):

  • write a summary of important / interesting tactics that still need porting

Scott Morrison (Jun 26 2023 at 23:02):

There was mention of an idea for implementing parameter in terms of nullary typeclasses. I can't find any trace of this on zulip: if someone knows a source we can mention this in #430.

Mario Carneiro (Jun 26 2023 at 23:12):

https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/parameter/near/271747258

Scott Morrison (Jun 26 2023 at 23:14):

Wow, that is really simple.

Jeremy Tan (Jun 27 2023 at 00:18):

Scott Morrison said:

  • all the RBTree files can be ported as empty files, just with a header, as all the content we want is in Std already.

!4#5504

Scott Morrison (Jun 27 2023 at 00:24):

@Jeremy Tan, would you mind merging Johan's #5479 into this. I don't think we need to have all the #align's in the later files, but given Johan has already done that effort we shouldn't waste it.

Scott Morrison (Jun 27 2023 at 00:29):

#5505 adds the headers for the slim_check files.

Jeremy Tan (Jun 27 2023 at 00:33):

Scott Morrison said:

would you mind merging Johan's #5479 into this

Should be done

Scott Morrison (Jun 27 2023 at 00:36):

!3#19217 renames category_theory.limits.constructions.over.default and is ready for a :peace_sign: or :merge:.

Mario Carneiro (Jun 28 2023 at 21:16):

On the topic of files from core that were not ported, I just noticed that Mathlib.Init.Data.Nat.Lemmas is an adhoc port, and is missing the majority of #aligns, which is surprising since there are so many important theorems on Nat in there

Mario Carneiro (Jun 28 2023 at 21:17):

actually, now that I think of it it's probably using the older convention of using #align only when mathport would not be able to guess the name on its own

Johan Commelin (Jul 03 2023 at 19:58):

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09

Starting in two minutes, I suppose.

Mario Carneiro (Jul 03 2023 at 23:31):

https://cmu.zoom.us/rec/share/Hb53g_FV5i-9I0Dsn79NqZuvUft2gojG-rrA2T8EXvwQjqVUZ1jed-YTGH0XtTwx.1pghhJtIPgkmdiA9?startTime=1688414370000
Passcode: $F#Y62gu

Eric Wieser (Jul 10 2023 at 20:08):

Starting 8 minutes ago? Or did last meeting conclude we weren't meeting this week?

Eric Wieser (Jul 10 2023 at 20:13):

Ah, I guess this programme suggests there might be a clash with an overrunning wine and cheese party!

Heather Macbeth (Jul 16 2023 at 00:12):

End-of-port party at ?

Jireh Loreaux (Jul 16 2023 at 01:48):

BYOB :beer:. For some of you this is a very strange time for a drink. :smiley:

Johan Commelin (Jul 17 2023 at 19:55):

@porters We'll start in 5 minutes (-;

Shreyas Srinivas (Jul 17 2023 at 19:57):

Are people who haven't ported recently welcome?

Scott Morrison (Jul 17 2023 at 19:57):

The meeting link is

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

as "usual".

Scott Morrison (Jul 17 2023 at 19:57):

Shreyas Srinivas said:

Are people who haven't ported recently welcome?

Yes, please, it's a party, all welcome. :-)

Ruben Van de Velde (Jul 17 2023 at 21:41):

Clearing out some old tabs, remember when graphs looked like this? https://tqft.net/mathlib4/2023-01-17/number_theory.legendre_symbol.quadratic_reciprocity.pdf

Shreyas Srinivas (Jul 17 2023 at 21:45):

In line with the discussion, some suggestions for future lines of work from the CS side that do not involve algorithms or verification:

  1. Finite Model Theory: The textbook by Leonid libkin might be a good start.
  2. Fair division/allocation theory: Many (already proved) theorems about existence of various kinds of allocations and their computation through graph theoretic methods.
  3. Computational Social Choice.
  4. The book on boolean Fourier analysis by Ryan O Donnell.
  5. The matrix cookbook which iirc someone is already working on.
  6. Elementary probability theory with accompanying tactics. (For example a tactic that searches the environment for conditions and matches them with the correct concentration inequality out of some tagged ones)
  7. If some of the above are done, then the theory of Markov Decision Processes.

Mario Carneiro (Jul 18 2023 at 05:58):

https://cmu.zoom.us/rec/share/jwUJ-4hubpzzajsByKEGP1jOCXdngVOyRq_Fq5D8YfqeGqXfJhb0rmxgqBppy1TK.pHZS4Ydm2sCCjbIb?startTime=1689623924000
Passcode: ?9^wP6UG

Scott Morrison (Jul 18 2023 at 10:39):

As follow-up from today's meeting (I forget if it was in the main meeting or after-party):

  • feat: says tactic combinator #5980

This is a primitive implementation of the says combinator discussed at today's porting meeting.

If you write X says, where X is a tactic that produces a "Try this: Y" message, then you will get a message "Try this: X says Y". Once you've clicked to replace X says with X says Y, afterwards X says Y will only run Y.

Scott Morrison (Jul 18 2023 at 10:40):

(When thinking about this earlier, for some reason I had expected that we couldn't write says in between the X and Y, and that it would have had to come first, and thus be quoth instead of says.)

Mario Carneiro (Jul 18 2023 at 14:26):

(I forget if it was in the main meeting or after-party)

By the way, I want to state that I wasn't really happy with the "after-party" setup; as I expected we just ended up doing more business during the second half of the meeting and that wasn't recorded despite containing lots of useful information for people who might not be in the right time zone. I'd rather not repeat it.

Sebastian Ullrich (Jul 19 2023 at 09:15):

As mentioned on Monday: counting the remaining porting notes in the speedcenter #5994

Mario Carneiro (Jul 24 2023 at 20:01):

We're still doing this! At least until we all get bored of it...

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

Jireh Loreaux (Jul 24 2023 at 20:06):

I have to miss today, sorry.

Mario Carneiro (Jul 24 2023 at 21:51):

https://cmu.zoom.us/rec/share/sAHBY7S9IQJUS3u3yK1OkfnDsMEAhgn8agdZeltcwgp3zRg1oqVY7nX5gm1EZRPO.VuIl0cA5bwGoz0tU?startTime=1690228917000
Passcode: ^t1NB@QS

Scott Morrison (Jul 31 2023 at 11:32):

A reminder we're still having Mathlib meetings at the regular time.

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

Mario Carneiro (Aug 01 2023 at 04:06):

https://cmu.zoom.us/rec/share/ozrnh1y__FHz-on9rRTpCYKb6cRf1KhrkSZGeO2IWEAI2wo3W8Z30oc88gSacIzl.bfvxuo_QWvp_5TZR?startTime=1690833651000
Passcode: mq!J1?$g

Scott Morrison (Aug 07 2023 at 15:08):

I will not make today/tomorrow's meeting at as it's rather soon and I need to sleep. I encourage everyone to think about organising a PR merge sprint. :-)

Mario Carneiro (Aug 07 2023 at 19:56):

Tune in for the next edition of "what's next for mathlib" at:

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

Eric Wieser (Aug 07 2023 at 20:23):

#queue for reference

Mario Carneiro (Aug 07 2023 at 21:36):

https://cmu.zoom.us/rec/share/rb1jRfD7YkIE334mxV4YBFwlo-VSLLMNm3TUKJX_OW1wU19Xcrdy7RIjb8N497xX.YMppbvK4yxKqXgzV?startTime=1691438417000
Passcode: !#c2Hejm

Scott Morrison (Aug 07 2023 at 22:59):

Regarding the Type _ issue discussed in this meeting. Talking to Leo yesterday, he said something that I hadn't appreciated: paraphrasing only slightly: "I wouldn't allow authors to use Type _ in a repository I was responsible for. It will cause delayed unification problems, with potentially unpredictable results or performance problems."

I would suggest that not only do we merge Matthew's PR about this, but that we add a linter forbidding Type _ in Mathlib.

We should perhaps think of it as

  • there as a historical legacy, from when it was painful to have to introduce your universes ahead of time (note that's not longer the case: you can just write variable (X : Type u) (Y : Type v).
  • an aspect of Lean's great flexibility to write metavariables almost anywhere and then hope for unification to help you, rather than a feature there to support universe polymorphism.

Mario Carneiro (Aug 07 2023 at 23:00):

there as a historical legacy, from when it was painful to have to introduce your universes ahead of time (note that's not longer the case: you can just write variable (X : Type u) (Y : Type v).

This is not really an improvement over the legacy syntax

Mario Carneiro (Aug 07 2023 at 23:01):

in particular you can't write variable (X Y Z W : Type _) here

Eric Wieser (Aug 07 2023 at 23:01):

I would suggest that not only do we merge Matthew's PR about this, but that we add a linter forbidding Type _ in Mathlib.

I think I suggested this in the meeting

Eric Wieser (Aug 07 2023 at 23:01):

Matthew pointed out that a notable exception is things like def foo : Type _ := ... where you really do just want lean to unify the universe

Mario Carneiro (Aug 07 2023 at 23:02):

I recall Eric also suggested tweaking variable elaboration to make variable (X Y Z W : Type _) make new universe variables rather than metavariables, like in lean 3

Eric Wieser (Aug 07 2023 at 23:02):

That's what Matthew's PR does anyway though, using * syntax instead of _

Scott Morrison (Aug 07 2023 at 23:04):

Even the def foo : Type _ := ... seems pretty dubious to me --- saving characters at the expense of readability.

Mario Carneiro (Aug 07 2023 at 23:07):

readability of what though? 99% of the time the universe levels just aren't important and obscure the mathematical content

Eric Wieser (Aug 07 2023 at 23:07):

If you banned Type _ then people would write def foo := which is worse because now you have to guess whether the expression is a type at all

Eric Wieser (Aug 07 2023 at 23:08):

(ok, we should probably ban that in a linter too)

Mario Carneiro (Aug 07 2023 at 23:08):

I remain pro-hiding-universes because lean is remarkably good at making the whole level algebra thing invisible in the vast majority of cases, although category theory may be an exception to this (because of its free level variable)

Mario Carneiro (Aug 07 2023 at 23:12):

Lean core has made some questionable choices regarding universe unification though, like allowing the body to unify level metavariables in the theorem statement. I suspect this is at least partially the cause of the "unpredictable results or performance problems" Leo is hinting at

Matthew Ballard (Aug 07 2023 at 23:13):

Eric Wieser said:

That's what Matthew's PR does anyway though, using * syntax instead of _

Yes though Kyle wrote the elaborators.

On my most recent pass today, I tried to make universe levels explicit but left two cases: type wrappers and quantification over types.

Matthew Ballard (Aug 07 2023 at 23:15):

I only encountered one incident of seemingly unintentional monomorphization

Eric Wieser (Aug 07 2023 at 23:23):

Scott Morrison said:

Regarding the Type _ issue discussed in this meeting. Talking to Leo yesterday, he said something that I hadn't appreciated: paraphrasing only slightly: "I wouldn't allow authors to use Type _ in a repository I was responsible for. It will cause delayed unification problems, with potentially unpredictable results or performance problems."

If you're not allowed to use Type _, then you're also not allowed to use autoImplicit for type variables, right?

Scott Morrison (Aug 07 2023 at 23:24):

Why?

Eric Wieser (Aug 07 2023 at 23:24):

Because doesn't that generate a variable of type Sort _?

Scott Morrison (Aug 07 2023 at 23:26):

Indeed. No explicitly written Type _, then. :-)

Eric Wieser (Aug 07 2023 at 23:26):

Well "It will cause delayed unification problems, with potentially unpredictable results or performance problems" is true of implicitly-written Type _ too!

Mario Carneiro (Aug 07 2023 at 23:26):

IIRC Leo also didn't like {X} in declarations, although this was before auto implicits

Scott Morrison (Aug 07 2023 at 23:27):

Yes, but we would have fewer of them by banning the explicit ones.

Mario Carneiro (Aug 07 2023 at 23:29):

How about we add an option to make universe metavariables get turned into variables after the type is elaborated? I think this will have minimal fallout on mathlib since lean 3 effectively did this

Mario Carneiro (Aug 07 2023 at 23:29):

I think that will address the main performance issue with universe metavariables - having no ground terms at all because the base types have universe metavariables in them

Jireh Loreaux (Aug 08 2023 at 04:24):

I think we should see how performance of that compares to Matthew's PR.

Scott Morrison (Aug 08 2023 at 05:06):

(deleted)

Matthew Ballard (Aug 08 2023 at 09:25):

I transitioned from Sort _ to Sort* last night taking care to make explicit any existing constraints on the universe level.

One thing that was very common was having Sort _ when Lean would only accept Type _

Eric Wieser (Aug 08 2023 at 09:44):

We had a few of those in lean 3 too when we had the binders in the declaration rather than variables

Matthew Ballard (Aug 14 2023 at 20:04):

Mario Carneiro said:

We're still doing this! At least until we all get bored of it...

https://cmu.zoom.us/j/91251085952?pwd=cnFCK0RTWVJnUS96MTRCMXVSL0haZz09
Meeting ID: 912 5108 5952
Passcode: 730524

Are we bored of this?

Eric Wieser (Aug 14 2023 at 20:07):

At least bored of turning up the first 10 minutes it seems....

Matthew Ballard (Aug 14 2023 at 20:24):

Or the first 25 minutes :)

Kevin Buzzard (Aug 14 2023 at 20:34):

Sorry, I'm in a field with a bunch of other people

Jireh Loreaux (Aug 14 2023 at 21:09):

I've been at a state fair all day with my kids. I should be more regular once the semester starts.

Mario Carneiro (Aug 14 2023 at 22:22):

I've been a little under the weather this weekend and appear to have missed it, sounds like the recording will be interesting

Mario Carneiro (Aug 15 2023 at 00:06):

It appears the recording captured 25 minutes of no talking and Matthew staring at the screen, so I think I will not post it. Here's the chat log:

  • Eric Wieser 12:40

    I'm afraid I haven't really been following your work on the with stuff recently, and probably shouldn't distract myself this week by getting re-interested in it!

    (afk for 5 minutes)

  • Matthew Ballard (he/him) 14:48

    I got a with to elaborate as let src := a; toA := src and benchmarked it. Lots of changes. Most good but some serious regression mostly around Algebraic Geometry and Calculus.

    Today I got let src :=a; {toA := a} but I tripped the unused variable linter so cannot build and share a toolchain

  • Eric Wieser 16:02

    Aren't those the same?

  • Matthew Ballard (he/him) 16:16

    The second reduces the let

  • Eric Wieser 16:34

    I don't understand the first, it looks like a syntax error

  • Matthew Ballard (he/him) 16:48

    Yes it should be {toA := src}

    Currently it elaborates are let src := a; {toA := { x := src.x }}

    For some reason there is an extra eta expansion on top of everything.

    It doesn’t seem to have anything to do with the reenable eta stuff

  • Eric Wieser 18:49

    Sorry, I see the difference now

  • Matthew Ballard (he/him) 19:23

    https://github.com/leanprover-community/mathlib4/pull/6539 has the benchmark results

  • Matthew Ballard (he/him) 21:41

    Apparently the changes also addressed the slowness that ACL was talking about for the algebra instance on a quotient of MvPolynomial

Matthew Ballard (Aug 15 2023 at 00:18):

Hey, there were far less than 25 minute of me starting at the screen ;)

Matthew Ballard (Aug 21 2023 at 20:07):

It's happening!

Matthew Ballard (Aug 21 2023 at 21:09):

A pressing unresolved question: what the does the e in erw stand for?

Ruben Van de Velde (Aug 21 2023 at 21:12):

Euler's number?

Matthew Ballard (Aug 21 2023 at 21:12):

It could be!

Thomas Murrills (Aug 21 2023 at 21:16):

:fire:EXTREME:fire: rw

Mario Carneiro (Aug 21 2023 at 22:03):

I tracked it down to the original commit: https://github.com/leanprover-community/lean/commit/e2f70371cc6c3527930eb1a6ad30fd0730d116aa . It didn't help.

Mario Carneiro (Aug 21 2023 at 22:54):

https://cmu.zoom.us/rec/share/fdJnR6o1FAbQR4m43S60_6lm0QYYz79XAvd12m9kwVGEo5F666C0kqDxEE_Zt1U5.TeLi1rKDY2xrzxRu?startTime=1692647990000
Passcode: L12p@!yj

Floris van Doorn (Aug 21 2023 at 23:09):

Matthew Ballard said:

A pressing unresolved question: what the does the e in erw stand for?

In an email on 26 Jan 2017 to the lean-user Google group (an old Lean mailing list) Leo writes

[you can] use the "expensive" rewrite tactic erewrite. This version will unfold all declarations that are not marked as irreducible. This option works well for simple things, but you may have performance problems

so I think that is the intended interpretation of the e.

Thomas Murrills (Aug 21 2023 at 23:16):

Nice—mystery solved, I’d say! Btw, in searching zulip for answers initially, I stumbled across this old message (Oct 2022), and I suppose the sentiment is even more justified now in light of that:
Mario Carneiro said:

It occurs to me that erw should maybe be renamed to rw! to follow this naming convention (it is the reducibility := .default version of rw)

Johan Commelin (Aug 22 2023 at 05:46):

Matthew Ballard said:

A pressing unresolved question: what the does the e in erw stand for?

I've been calling it "engry rewrite" lately :angry: :very_angry: --- :grinning:

Jeremy Tan (Aug 22 2023 at 06:09):

erw stands for Extra-strength rewrite

Mario Carneiro (Aug 28 2023 at 20:29):

I think we might have got bored of these meetings, the turnout was quite low again. So I propose we (1) renegotiate timing, since it's a new semester for many of us, (2) lower the frequency, and (3) rebrand, as it's not a porting meeting anymore. Continued in #lean4...

Patrick Massot (Aug 28 2023 at 20:44):

I intended to attend but I didn't know the time.


Last updated: Dec 20 2023 at 11:08 UTC