Zulip Chat Archive
Stream: general
Topic: Rearranging files in `data/`
Anne Baanen (Mar 25 2022 at 11:59):
I still don't understand the split between data/polynomial, algebra/polynomial and ring_theory/polynomial, to be honest...
Patrick Massot (Mar 25 2022 at 11:59):
I still don't understand data...
Damiano Testa (Mar 25 2022 at 12:00):
Besides feeling silly, I am comforted by the fact that more people find the split weird!
Yaël Dillies (Mar 25 2022 at 12:01):
Some things definitely belong under data, like list, multiset, finset, sym, sym2... I do not quite see why polynomial should be one of them.
Yaël Dillies (Mar 25 2022 at 12:02):
Arguably, finsupp does belong under data. So the philosophy I suggest is to view finsupp as the data analog to polynomial, and polynomial as the ring theory analog to finsupp.
Anne Baanen (Mar 25 2022 at 12:03):
IMO data.equiv is the least understandable, why do we collect a random set of isomorphisms there instead of the structures that they preserve?
Yaël Dillies (Mar 25 2022 at 12:03):
I have been actively working against this, by putting properties of docs#order_iso under order.hom..
Anne Baanen (Mar 25 2022 at 12:04):
That is: move data/equiv/mul_add.lean → algebra/group/equiv.lean, ring.lean → algebra/ring/equiv.lean, module.lean → algebra/module/equiv.lean, etc.
Yaël Dillies (Mar 25 2022 at 12:04):
Yes please!
Yaël Dillies (Mar 25 2022 at 12:05):
(just note that there is now a algebra.hom. folder, so maybe those should rather be algebra.hom.module.equiv, algebra.hom.group.equiv, or be merged with the existing files there, which to me sounds best)
Anne Baanen (Mar 25 2022 at 12:05):
Perhaps even rename (the slimmed-down version of) data/equiv to logic/equiv?
Yaël Dillies (Mar 25 2022 at 12:06):
While we're at it, docs#continuous_map imports docs#homeomorph, and to me it should clearly be the other way around.
Notification Bot (Mar 25 2022 at 12:07):
12 messages were moved here from #Is there code for X? > char_p instance on polynomials by Anne Baanen.
Anne Baanen (Mar 25 2022 at 12:07):
Ok, I'll try and rearrange data/equiv after I finish eating my lunch!
Eric Rodriguez (Mar 25 2022 at 12:23):
file#data/equiv/embedding is basically just used for the cardinality of the embeddings, I'm not sure where it could go
Anne Baanen (Mar 25 2022 at 13:22):
I think I'll move docs#encodable and docs#denumerable to logic/ directly, rather than logic/equiv.
Anne Baanen (Mar 25 2022 at 13:23):
Eric Rodriguez said:
file#data/equiv/embedding is basically just used for the cardinality of the embeddings, I'm not sure where it could go
I think this can stay in logic/equiv/embedding.lean, or perhaps logic/embedding/equiv.lean.
Anne Baanen (Mar 25 2022 at 13:45):
Kevin Buzzard (Mar 25 2022 at 15:23):
Yaël Dillies said:
Arguably,
finsuppdoes belong under data. So the philosophy I suggest is to viewfinsuppas the data analog topolynomial, andpolynomialas the ring theory analog tofinsupp.
This reminds of fin n v zmod n. They're different in an edge case but otherwise they're defeq, although one feels like data and one like ring theory.
Last updated: May 02 2025 at 03:31 UTC