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 abbrevs 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