Zulip Chat Archive

Stream: lean4

Topic: mathlib vs std


Bhakti Shah (Aug 11 2023 at 22:52):

Kind of curious, is there a reason there's lemmas split between Mathlib.a.b.c and Std.a.b.c? For example Mathlib.Data.List.Basic and Std.Data.List.Basic. Not really an actual issue but it's a bit counterintuitive + makes imports a lil confusing. Is it just to make the std library lighter?

Yury G. Kudryashov (Aug 11 2023 at 23:15):

In Lean 3, we moved almost everything to mathlib.

Yury G. Kudryashov (Aug 11 2023 at 23:16):

Now we're gradually moving stuff that doesn't need definitely-non-std stuff like docs#Monoid to Std.

Bhakti Shah (Aug 11 2023 at 23:19):

is this going to be breaking changes? or will you maintain two copies, one in Std and one in Mathlib? (or is this process written up somewhere ig)

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

This is going to be breaking changes.

Yury G. Kudryashov (Aug 11 2023 at 23:29):

Why is it breaking? Mathlib.Data.List.Basic imports Std.Data.List.Basic, so if your code imported Mathlib.Data.List.Basic, then moving a lemma to Std doesn't break your code.

Yury G. Kudryashov (Aug 11 2023 at 23:30):

But sometimes we change API while moving (e.g., this happens a lot to Fin defs and lemmas).


Last updated: Dec 20 2023 at 11:08 UTC