Zulip Chat Archive
Stream: mathlib4
Topic: using `FullSubcategory`
Jireh Loreaux (Sep 17 2024 at 20:37):
From what I can tell, we have docs#CategoryTheory.FullSubcategory, but it isn't actually used to implement any categories, per loogle
below. Can someone explain the rational? For example, why is docs#CommMonCat not implemented as a full subcategory of docs#MonCat, and instead just goes via docs#CategoryTheory.Bundled ?
Jireh Loreaux (Sep 17 2024 at 20:37):
@loogle |- CategoryTheory.FullSubcategory ?Z
loogle (Sep 17 2024 at 20:37):
:search: CategoryTheory.FullSubcategory.mk
Christian Merten (Sep 17 2024 at 20:40):
This just does not appear in the type signature, e.g. docs#DiscreteContAction, docs#LeftExactFunctor and many more use docs#CategoryTheory.FullSubcategory.
Christian Merten (Sep 17 2024 at 20:42):
(grep FullSubcategory.category -r
gives some more examples)
Jireh Loreaux (Sep 17 2024 at 20:42):
I see. Is this because you need type synonyms everywhere for type safety reasons? (or just convenience?)
Jireh Loreaux (Sep 17 2024 at 20:44):
Also, it doesn't quite explain why some things are not implemented in this way (e.g., CommMonCat
). I would have assumed it was easier to just lift everything from the API for FullSubcategory
rather than implementing from scratch.
Christian Merten (Sep 17 2024 at 20:44):
Jireh Loreaux said:
I see. Is this because you need type synonyms everywhere for type safety reasons? (or just convenience?)
I suppose some of those could be abbrev
s instead, but I am not sure if this causes performance issues.
Jireh Loreaux (Sep 17 2024 at 20:45):
Sure, I guess it could cause performance issues since the head would be FullSubcategory
everywhere, that makes sense.
Johan Commelin (Sep 18 2024 at 15:40):
Jireh, my guess is that Bundled
gives more API for free than FullSubcategory
does... Ideally one would get both.
Last updated: May 02 2025 at 03:31 UTC