Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(AlgebraicTopology): the monoidal category structure on simplicial sets #11396

Closed
wants to merge 16 commits into from

Conversation

joelriou
Copy link
Collaborator

@joelriou joelriou commented Mar 15, 2024

If a category C has chosen finite products, then the functor category J ⥤ C also. In particular, the category of simplicial sets is endowed with the monoidal category given by the explicit terminal object and binary products.

Simplifications lemmas have also been added in the context of categories with chosen finite products. For terminal objects in such categories, the terminal object is given as a limit cone of Functor.empty.{0} C rather than Functor.empty.{v} C so as to be consistent with the limits API for terminal objects.

Co-authored-by: Jack McKoen mckoen@ualberta.ca


Open in Gitpod

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the blocked-by-other-PR This PR depends on another PR which is still in the queue. label Mar 15, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the blocked-by-other-PR This PR depends on another PR which is still in the queue. label Mar 16, 2024
@leanprover-community-mathlib4-bot
Copy link
Collaborator

This PR/issue depends on:

@joelriou joelriou added awaiting-review The author would like community review of the PR awaiting-CI labels Mar 17, 2024
Comment on lines 29 to 31
instance : ChosenFiniteProducts SSet.{u} where
terminal := FunctorToTypes.functorEmptyLimitCone _
product := FunctorToTypes.binaryProductLimitCone
Copy link
Contributor

@adamtopaz adamtopaz Mar 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should now be possible to provide such an instance for the category of functors from C to D whenever D has chosen finite products. In fact, it seems that pretty much everything in this file can be similarly generalized.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the suggestions. The simp lemmas were slightly more difficult to obtain in general, but it works.

@TwoFX TwoFX added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Mar 24, 2024
@joelriou joelriou removed the awaiting-author A reviewer has asked the author a question or requested changes label Mar 24, 2024
@joelriou joelriou added awaiting-review The author would like community review of the PR awaiting-CI labels Mar 24, 2024
Copy link
Contributor

@adamtopaz adamtopaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm perfectly happy with the code you wrote in the general context. In the case of the monoidal structure on simplicial sets, I had a slight concern that mixing the ChosenFiniteProducts api and the (type-theoretic) Prod, but it seems that the necessary simp lemmas already exist for the monoidal structure on Type*, so it seems that everything (especially simp) should work as expected!

Thanks!

bors r+

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review The author would like community review of the PR labels Mar 29, 2024
mathlib-bors bot pushed a commit that referenced this pull request Mar 29, 2024
…l sets (#11396)

If a category `C` has chosen finite products, then the functor category `J ⥤ C` also. In particular, the category of simplicial sets is endowed with the monoidal category given by the explicit terminal object and binary products. 

Simplifications lemmas have also been added in the context of categories with chosen finite products. For terminal objects in such categories, the terminal object is given as a limit cone of `Functor.empty.{0} C` rather than `Functor.empty.{v} C` so as to be consistent with the limits API for terminal objects.

Co-authored-by: Jack McKoen <mckoen@ualberta.ca>
@mathlib-bors
Copy link

mathlib-bors bot commented Mar 29, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(AlgebraicTopology): the monoidal category structure on simplicial sets [Merged by Bors] - feat(AlgebraicTopology): the monoidal category structure on simplicial sets Mar 29, 2024
@mathlib-bors mathlib-bors bot closed this Mar 29, 2024
@mathlib-bors mathlib-bors bot deleted the sset-monoidal branch March 29, 2024 22:03
Louddy pushed a commit that referenced this pull request Apr 15, 2024
…l sets (#11396)

If a category `C` has chosen finite products, then the functor category `J ⥤ C` also. In particular, the category of simplicial sets is endowed with the monoidal category given by the explicit terminal object and binary products. 

Simplifications lemmas have also been added in the context of categories with chosen finite products. For terminal objects in such categories, the terminal object is given as a limit cone of `Functor.empty.{0} C` rather than `Functor.empty.{v} C` so as to be consistent with the limits API for terminal objects.

Co-authored-by: Jack McKoen <mckoen@ualberta.ca>
atarnoam pushed a commit that referenced this pull request Apr 16, 2024
…l sets (#11396)

If a category `C` has chosen finite products, then the functor category `J ⥤ C` also. In particular, the category of simplicial sets is endowed with the monoidal category given by the explicit terminal object and binary products. 

Simplifications lemmas have also been added in the context of categories with chosen finite products. For terminal objects in such categories, the terminal object is given as a limit cone of `Functor.empty.{0} C` rather than `Functor.empty.{v} C` so as to be consistent with the limits API for terminal objects.

Co-authored-by: Jack McKoen <mckoen@ualberta.ca>
uniwuni pushed a commit that referenced this pull request Apr 19, 2024
…l sets (#11396)

If a category `C` has chosen finite products, then the functor category `J ⥤ C` also. In particular, the category of simplicial sets is endowed with the monoidal category given by the explicit terminal object and binary products. 

Simplifications lemmas have also been added in the context of categories with chosen finite products. For terminal objects in such categories, the terminal object is given as a limit cone of `Functor.empty.{0} C` rather than `Functor.empty.{v} C` so as to be consistent with the limits API for terminal objects.

Co-authored-by: Jack McKoen <mckoen@ualberta.ca>
callesonne pushed a commit that referenced this pull request Apr 22, 2024
…l sets (#11396)

If a category `C` has chosen finite products, then the functor category `J ⥤ C` also. In particular, the category of simplicial sets is endowed with the monoidal category given by the explicit terminal object and binary products. 

Simplifications lemmas have also been added in the context of categories with chosen finite products. For terminal objects in such categories, the terminal object is given as a limit cone of `Functor.empty.{0} C` rather than `Functor.empty.{v} C` so as to be consistent with the limits API for terminal objects.

Co-authored-by: Jack McKoen <mckoen@ualberta.ca>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors. t-category-theory Category theory
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants