Commit 2025-12-13 14:21 dd97bd1c
View on Github →chore: use Category* everywhere (#32842)
Use the new Category* syntax that landed in #30797.
- Import the syntax in the
CategoryTheory/Functor/Basic.leanfile: this is the first file in the hierarchy afterCategoryTheory/Category/Basic.lean. This makes it available in basically every file which uses category theory. - All occurences of
[Category …]have been replaced by[Category* …]. Cases of[Category.{…} …]remain untouched. This change did uncover a few "bad uses" of[Category …] - The most notable one is the
(J: Type*) [Category J] [FinCategory J]pattern: in that pattern,[FinCategory J]actually requires aSmallCategory, so it was silently setting the universe metavariable in[Category J]to make it equal to the level ofJ. This pattern has been replaced by(J: Type*) [SmallCategory J] [FinCategory J]. - Some similar uses of
[Category …](where later declarations would silently set the universe levels have been found inCategoryTheory/Category/Cat.leanandCategoryTheory/Category/ReflQuiv.lean: here, the levels have been clarified. The only notable "breakage" is that the way Category* sets levels in a specific order did change the universes level order forPresheafedSpace(and perhaps, silently, some other declarations), which was sometimes called with explicit levels, soPresheafedSpace.{u, v, w}becomesPresheafedSpace.{v, u, w}(as expected, universe levels for morphisms come first). Happy to revert if this is deemed too inconvenient (in practice,PresheafedSpaceis often writtenPresheafedSpace.{_, _, v}, so this did not break a lot.) Finally, minor adjustement in a few files had to be made as adding the*character broke through the 100char width limit.