Zulip Chat Archive
Stream: mathlib4
Topic: lean3port
Kevin Buzzard (Nov 23 2022 at 15:11):
lean_core.data.vector
is on the most wanted list; this is data.vector
from Lean 3 core. Did someone mention that there was a way to get an autoported version of this file somehow? I'm looking for a porting job.
Scott Morrison (Nov 23 2022 at 15:18):
Yes, there is the lean3port
repository, just like the mathlib3port
repository.
Moritz Doll (Nov 23 2022 at 15:23):
Kevin, if you are out of work: mathlib4#674 has some rather weird coercion errors and Arien has asked for help with that
Kevin Buzzard (Nov 23 2022 at 15:30):
OK I'll look at 674 for now :-) Thanks both!
Siddhartha Gadgil (Nov 24 2022 at 02:24):
Is the ported file supposed to be Mathlib/Lean/Data/Vector.lean
(or just Mathlib/Data/Vector.lean
)?
Scott Morrison (Nov 24 2022 at 02:26):
If you are porting a file from lean 3 core, it should go in Mathlib/Init/
.
Scott Morrison (Nov 24 2022 at 02:26):
(The Mathlib/Lean/
folder is for add-ons to Lean 4 core that are for now residing in mathlib4.)
Siddhartha Gadgil (Nov 24 2022 at 03:15):
I was looking at the Vector.lean
file and it seems that it uses List.map₂
and some other functions that are not ported. Was this missed in saying lean_core.data.vector
is ready to port or am I missing something?
Scott Morrison (Nov 24 2022 at 15:00):
I would not trust the port_status.py
script when it comes to analysing what is ready to port from lean 3 core. It is not attempting to analyse anything there at all, and the fact that lean_core.data.vector
is shown on the list is more or less a bug to begin with.
Siddhartha Gadgil (Nov 24 2022 at 15:46):
Scott Morrison said:
I would not trust the
port_status.py
script when it comes to analysing what is ready to port from lean 3 core. It is not attempting to analyse anything there at all, and the fact thatlean_core.data.vector
is shown on the list is more or less a bug to begin with.
Thanks. Would the correct approach be to port this to Mathlib/Init/
and also create a file there /Mathlib/Init/List/BasicExtras.lean
with functions that were in Lean 3's list/basic.lean
but were dropped from Lean 4's List/Basic.lean
?
Scott Morrison (Nov 24 2022 at 17:59):
Anything that is still unported from Lean 3 core's list/basic.lean
belongs in Mathlib/Init/List/Basic.lean
Scott Morrison (Nov 24 2022 at 17:59):
no need for BasicExtras
: the fact that it is in Mathlib/Init/
is enough.
Eric Wieser (Nov 24 2022 at 19:02):
Scott Morrison said:
Anything that is still unported from Lean 3 core's
list/basic.lean
belongs inMathlib/Init/List/Basic.lean
Where do things in Lean3 core's init/data/list/basic.lean
belong then?
Eric Wieser (Nov 24 2022 at 19:03):
Scott Morrison said:
If you are porting a file from lean 3 core, it should go in
Mathlib/Init/
.
I think this rule might be wrong; isn't it "if you are porting a file from the init
folder in lean3 core, it belongs in Init
, otherwise if not it belongs not in Init
"?
Mario Carneiro (Nov 24 2022 at 21:01):
I agree with Eric: init.data.list.basic
-> Mathlib.Init.Data.List.Basic
and data.vector
-> Mathlib.Data.Vector
Siddhartha Gadgil (Dec 03 2022 at 03:24):
Working on this. Will update the wiki.
Siddhartha Gadgil (Dec 03 2022 at 14:36):
Wasn't sure if one should alert about PRs here too. In any case https://github.com/leanprover-community/mathlib4/pull/834 does the following (I hope)
- port
Mathlib.Data.Vector
- port a handful of definitions and lemmas needed for this that are not (yet?) in
Std4
.
Last updated: Dec 20 2023 at 11:08 UTC