Skip to content

[Merged by Bors] - feat(CategoryTheory/Closed): functors into a closed monoidal category form a closed monoidal category#16067

Closed
dagurtomas wants to merge 12 commits intomasterfrom
dagur/FunctorCategoryClosed
Closed

[Merged by Bors] - feat(CategoryTheory/Closed): functors into a closed monoidal category form a closed monoidal category#16067
dagurtomas wants to merge 12 commits intomasterfrom
dagur/FunctorCategoryClosed

Conversation

@dagurtomas
Copy link
Copy Markdown
Contributor

@dagurtomas dagurtomas commented Aug 22, 2024

...assuming the target category has certain limits


Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Aug 22, 2024

PR summary 2d5e070bba

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.CategoryTheory.Closed.FunctorCategory -437
Mathlib.CategoryTheory.Groupoid.Discrete 311
Mathlib.CategoryTheory.Closed.FunctorCategory.Groupoid 437
Mathlib.CategoryTheory.Closed.FunctorCategory.Complete 606

Declarations diff

+ functorCategoryClosed
+ functorCategoryMonoidalClosed
+ instance (F : I ⥤ C) : IsLeftAdjoint (tensorLeft (incl I ⋙ F))
+ instance : Comonad.PreservesLimitOfIsCoreflexivePair ((whiskeringLeft _ _ C).obj (incl I))
+ instance : ComonadicLeftAdjoint ((whiskeringLeft _ _ C).obj (incl I))
+ instance : Groupoid (Discrete C) := { inv := fun h ↦ ⟨⟨h.1.1.symm⟩⟩ }
+ instance : ReflectsIsomorphisms <| (whiskeringLeft _ _ C).obj (incl I)

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.

@ghost ghost added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Aug 22, 2024
@grunweg grunweg added the t-category-theory Category theory label Aug 23, 2024
@ghost ghost removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Sep 3, 2024
@ghost
Copy link
Copy Markdown

ghost commented Sep 3, 2024

@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Sep 3, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Sep 20, 2024
@dagurtomas dagurtomas changed the title feat(CategoryTheory/Closed): functors into a complete closed monoidal category form a closed monoidal category feat(CategoryTheory/Closed): functors into a closed monoidal category form a closed monoidal category Sep 20, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Sep 23, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Sep 24, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant added the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Oct 22, 2024
@leanprover-community-bot-assistant leanprover-community-bot-assistant removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Oct 23, 2024
Comment on lines +15 to +16
TODO (in progress by Joël Riou): make a more explicit construction of the internal hom in functor
categories.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Indeed, in order to obtain the monoidal structure on categories of sheaves with values in a closed symmetric monoidal category (with suitable limits), using #12728, we will need to know that if Y is any presheaf, and f : X₁ ⟶ X₂ is a morphism of presheaves which becomes an isomorphism after sheafification, then it is also the case of f ▷ Y. This is equivalent to saying that if Z is any sheaf, the induced map (X₂ ⊗ Y ⟶ Z) → (X₁ ⊗ Y ⟶ Z) is a bijection, which is the same as showing there is a bijection (X₂ ⟶ Y ⟹ Z) → (X₁ ⟶ Y ⟹ Z) (if I use the notation for the internal hom of presheaves), and we may conclude if we know that Y ⟹ Z is a sheaf when Z is a sheaf (see Sites.SheafHom for a similar result). Finally, using your result in PR #15894, we may also get that the monoidal category structure on sheaves is also closed.

In order to get the tensor product of sheaves (with its monoidal compatibilites), we not only need to know that the monoidal structure on presheaves is closed, but we also need a certain understanding of what the sections of Y ⟹ Z look like. Then, I am not sure what to do with this PR, because on the one hand, your proof is really great, but we may not extract enough information out of it for our future applications. Another approach would be to develop the more explicit construction in a way that would allow both a construction of a MonoidalClosed instance, and working with a preexistent MonoidalClosed instance, e.g. the one given by this PR? In which case, the API would provide isomorphisms with the given ihom.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't have a strong opinion on whether to merge this or not. If nothing else, I think it's a cool application of the adjoint lifting theorem. But you're right that it's not good enough to get the monoidal structure on sheaves. However, I don't think it hurts to have different definitions of MonoidalClosed for functor categories (there is already one for functors out of a groupoid), as long as they are defs and only turned on as instances locally. These structures are unique up to isomorphism as you note and it will always be easy to relate them.

What's the status of the explicit decsription of internal homs of presheaves? IIRC, you had some WIP code on a branch doing this?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I have done the first step in #18009 which together with #17326 gives an enrichment of a functor category J ⥤ C in C. In a certain sense, this is the "global sections" of the expected internal hom. Then, in order to construct the actual internal hom, I will study the functoriality of this enrichement of J ⥤ C with respect to the category J. Then, all the enrichements of Under j ⥤ C for j : J over C should give the expected enrichment of J ⥤ C in itself, and hopefully it will be possible to deduce that J ⥤ C is closed monoidal.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I've reviewed the two PRs that #18009 depends on.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I feel the best solution is to merge this one.

@joelriou
Copy link
Copy Markdown
Contributor

Thanks!

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Oct 29, 2024
mathlib-bors bot pushed a commit that referenced this pull request Oct 29, 2024
… form a closed monoidal category (#16067)

...assuming the target category has certain limits
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Oct 29, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(CategoryTheory/Closed): functors into a closed monoidal category form a closed monoidal category [Merged by Bors] - feat(CategoryTheory/Closed): functors into a closed monoidal category form a closed monoidal category Oct 29, 2024
@mathlib-bors mathlib-bors bot closed this Oct 29, 2024
@mathlib-bors mathlib-bors bot deleted the dagur/FunctorCategoryClosed branch October 29, 2024 13:45
jcommelin pushed a commit that referenced this pull request Oct 29, 2024
… form a closed monoidal category (#16067)

...assuming the target category has certain limits
mathlib-bors bot pushed a commit that referenced this pull request Nov 17, 2024
Let `C` be a category that is enriched over a monoidal category `V` in such a way that the category structure and the enriched category structure are compatible. Then, if `J` is a category and that `V` has certain limits, then the functor category `J ⥤ C` is also enriched over `V`.

(Plan: using #17326, we may use this for `C := C` closed monoidal in order to show that a category of functors `J ⥤ C` to a monoidal category is enriched over `C`, and, by applying this to all `Under X` categories for `X : C`, it should follow that `J ⥤ C` is also closed monoidal. This should give a more explicit approach as compared to  #16067.)



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
TobiasLeichtfried pushed a commit that referenced this pull request Nov 21, 2024
Let `C` be a category that is enriched over a monoidal category `V` in such a way that the category structure and the enriched category structure are compatible. Then, if `J` is a category and that `V` has certain limits, then the functor category `J ⥤ C` is also enriched over `V`.

(Plan: using #17326, we may use this for `C := C` closed monoidal in order to show that a category of functors `J ⥤ C` to a monoidal category is enriched over `C`, and, by applying this to all `Under X` categories for `X : C`, it should follow that `J ⥤ C` is also closed monoidal. This should give a more explicit approach as compared to  #16067.)



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
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.

4 participants