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] - refactor(CategoryTheory/Sites): continuous functors #8408

Closed
wants to merge 24 commits into from

Conversation

joelriou
Copy link
Collaborator

@joelriou joelriou commented Nov 14, 2023

This PR introduces the typeclass Functor.IsContinuous which says that the precomposition with a functor preserves the sheaf condition for Grothendieck topologies. It slightly refactors the previous main theorem about CoverPreserving and CompatiblePreserving functors: it now states that such functors are continuous. The pushforward functor for a continuous functor is defined under the Functor.IsContinuous assumption rather than the combination of both CoverPreserving and CompatiblePreserving. The property CoverLifting is renamed IsCocontinuous and it is made a class. The property IsCoverDense is also made a class.


The current results are great, but I feel the terminology was very confusing: for example, the functor between categories of sheaves induced by a continuous functor was named pullback, even though it should be considered as a pushforward functor (for example, they induce the covariant functoriality of sheaves for sites or topological spaces). I have made some other similar renames.

Open in Gitpod

@joelriou joelriou added WIP Work in progress t-category-theory Category theory labels Nov 14, 2023
@joelriou joelriou added awaiting-review and removed WIP Work in progress labels Nov 14, 2023
Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>
Mathlib/CategoryTheory/Sites/CoverLifting.lean Outdated Show resolved Hide resolved
Mathlib/CategoryTheory/Sites/CoverLifting.lean Outdated Show resolved Hide resolved
Mathlib/Topology/Sheaves/SheafCondition/Sites.lean Outdated Show resolved Hide resolved
@dagurtomas
Copy link
Collaborator

I think that if we're introducing the name Continuous for functors, we should go all the way and add Cocontinuous as well. The docstring of CoverLifting.lean says:

"This concept is also known as cocontinuous functors or
cover-reflecting functors, but we have chosen this name following [MM92] in order to avoid
potential naming collision or confusion with the general definition of cocontinuous functors
between categories as functors preserving small colimits."

This applies to the name continuous functor as well, but since we don't use that terminology for (co)limit preserving functors in mathlib, I think we can just remove that paragraph and claim both names for the sheaf-theoretic notion (and maybe add a warning that they don't mean "(co)limit-preserving".

@dagurtomas
Copy link
Collaborator

Could you also change line 44 in CoverPreserving.lean to * https://stacks.math.columbia.edu/tag/00WU to cite the whole section in Stacks and not just one particular lemma?

@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes label Nov 15, 2023
@joelriou joelriou added awaiting-review and removed awaiting-author A reviewer has asked the author a question or requested changes labels Nov 17, 2023
@joelriou
Copy link
Collaborator Author

Thanks for the suggestions @dagurtomas! Now, there is Functor.IsContinuous and Functor.IsCocontinuous.

@jcommelin
Copy link
Member

Thanks 🎉

bors merge

@github-actions github-actions bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review labels Nov 24, 2023
mathlib-bors bot pushed a commit that referenced this pull request Nov 24, 2023
This PR introduces the typeclass `Functor.IsContinuous` which says that the precomposition with a functor preserves the sheaf condition for Grothendieck topologies. It slightly refactors the previous main theorem about `CoverPreserving` and `CompatiblePreserving` functors: it now states that such functors are continuous. The *pushforward* functor for a continuous functor is defined under the `Functor.IsContinuous` assumption rather than the combination of both `CoverPreserving` and `CompatiblePreserving`. The property `CoverLifting` is renamed `IsCocontinuous` and it is made a class. The property `IsCoverDense` is also made a class. 



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Nov 24, 2023

Build failed (retrying...):

mathlib-bors bot pushed a commit that referenced this pull request Nov 24, 2023
This PR introduces the typeclass `Functor.IsContinuous` which says that the precomposition with a functor preserves the sheaf condition for Grothendieck topologies. It slightly refactors the previous main theorem about `CoverPreserving` and `CompatiblePreserving` functors: it now states that such functors are continuous. The *pushforward* functor for a continuous functor is defined under the `Functor.IsContinuous` assumption rather than the combination of both `CoverPreserving` and `CompatiblePreserving`. The property `CoverLifting` is renamed `IsCocontinuous` and it is made a class. The property `IsCoverDense` is also made a class. 



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Nov 24, 2023

Build failed (retrying...):

mathlib-bors bot pushed a commit that referenced this pull request Nov 24, 2023
This PR introduces the typeclass `Functor.IsContinuous` which says that the precomposition with a functor preserves the sheaf condition for Grothendieck topologies. It slightly refactors the previous main theorem about `CoverPreserving` and `CompatiblePreserving` functors: it now states that such functors are continuous. The *pushforward* functor for a continuous functor is defined under the `Functor.IsContinuous` assumption rather than the combination of both `CoverPreserving` and `CompatiblePreserving`. The property `CoverLifting` is renamed `IsCocontinuous` and it is made a class. The property `IsCoverDense` is also made a class. 



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Nov 24, 2023

Build failed:

@joelriou
Copy link
Collaborator Author

retrying

bors merge

mathlib-bors bot pushed a commit that referenced this pull request Nov 24, 2023
This PR introduces the typeclass `Functor.IsContinuous` which says that the precomposition with a functor preserves the sheaf condition for Grothendieck topologies. It slightly refactors the previous main theorem about `CoverPreserving` and `CompatiblePreserving` functors: it now states that such functors are continuous. The *pushforward* functor for a continuous functor is defined under the `Functor.IsContinuous` assumption rather than the combination of both `CoverPreserving` and `CompatiblePreserving`. The property `CoverLifting` is renamed `IsCocontinuous` and it is made a class. The property `IsCoverDense` is also made a class. 



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Nov 24, 2023

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title refactor(CategoryTheory/Sites): continuous functors [Merged by Bors] - refactor(CategoryTheory/Sites): continuous functors Nov 24, 2023
@mathlib-bors mathlib-bors bot closed this Nov 24, 2023
@mathlib-bors mathlib-bors bot deleted the continuous-functor branch November 24, 2023 22:38
awueth pushed a commit that referenced this pull request Dec 19, 2023
This PR introduces the typeclass `Functor.IsContinuous` which says that the precomposition with a functor preserves the sheaf condition for Grothendieck topologies. It slightly refactors the previous main theorem about `CoverPreserving` and `CompatiblePreserving` functors: it now states that such functors are continuous. The *pushforward* functor for a continuous functor is defined under the `Functor.IsContinuous` assumption rather than the combination of both `CoverPreserving` and `CompatiblePreserving`. The property `CoverLifting` is renamed `IsCocontinuous` and it is made a class. The property `IsCoverDense` is also made a class. 



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.

None yet

4 participants