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

feat(CategoryTheory/Functor): refactoring Lan #10425

Open
wants to merge 38 commits into
base: master
Choose a base branch
from
Open

Conversation

joelriou
Copy link
Collaborator

@joelriou joelriou commented Feb 11, 2024

This PR refactors the definition of the left Kan extension functor (Functor.lan : (C ⥤ E) ⥤ (D ⥤ E)) which sends a functor to its left Kan extension along a given functor F : C ⥤ D. This definition used to be a construction using the existence of suitable colimits. The new definition relies on the new general API for left Kan extensions. Then, F.lan.obj G is now defined as leftKanExtension F G. As a result, (leftKanExtension F G).obj X is no longer defined as colimit, but when it is known that G has a pointwise left Kan extension, it is shown that leftKanExtension F G is indeed a pointwise left Kan extension, which means that (leftKanExtension F G).obj X is the point of a certain colimit cocone. Then, in the downstream applications of this construction we have to use the API for colimit cocones rather that the colimit API.

The file CategoryTheory.Limits.Presheaf is also significantly refactored: instead of reconstructing functors by using colimits, we make use of the left Kan extension API instead.


This is only a very early draft... It was mostly a test to see how many things would break. I will not proceed with this refactor in the immediate future: first, I will develop a little bit more the left Kan extension API.

Open in Gitpod

joelriou and others added 17 commits February 9, 2024 19:05
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
Co-authored-by: Markus Himmel <markus@himmel-villmar.de>
@joelriou joelriou added WIP Work in progress t-category-theory Category theory labels Feb 11, 2024
@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 Feb 11, 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 Feb 12, 2024
@leanprover-community-mathlib4-bot
Copy link
Collaborator

This PR/issue depends on:

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. label Feb 12, 2024
@jcommelin jcommelin self-assigned this Feb 13, 2024
ext x
dsimp
erw [yonedaEquiv_apply]
simp

Choose a reason for hiding this comment

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

[lint-style] reported by reviewdog 🐶

Suggested change
simp
simp?

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added merge-conflict The PR has a merge conflict with master, and needs manual merging. and removed merge-conflict The PR has a merge conflict with master, and needs manual merging. labels Apr 15, 2024
mathlib-bors bot pushed a commit that referenced this pull request Apr 20, 2024
Given a functor `F : C ⥤ D`, we define the left Kan extension functor `F.lan : (C ⥤ E) ⥤ (D ⥤ E)` which sends a functor `G : C ⥤ E` to its left Kan extension along `F`. (This is a step towards the refactor of `Lan/Ran` in mathlib using the new API for Kan extensions of functors #10425.)
callesonne pushed a commit that referenced this pull request Apr 22, 2024
Given a functor `F : C ⥤ D`, we define the left Kan extension functor `F.lan : (C ⥤ E) ⥤ (D ⥤ E)` which sends a functor `G : C ⥤ E` to its left Kan extension along `F`. (This is a step towards the refactor of `Lan/Ran` in mathlib using the new API for Kan extensions of functors #10425.)
Jun2M pushed a commit that referenced this pull request Apr 24, 2024
Given a functor `F : C ⥤ D`, we define the left Kan extension functor `F.lan : (C ⥤ E) ⥤ (D ⥤ E)` which sends a functor `G : C ⥤ E` to its left Kan extension along `F`. (This is a step towards the refactor of `Lan/Ran` in mathlib using the new API for Kan extensions of functors #10425.)
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. label May 12, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. label May 12, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. label May 13, 2024
@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the merge-conflict The PR has a merge conflict with master, and needs manual merging. label May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge-conflict The PR has a merge conflict with master, and needs manual merging. t-category-theory Category theory WIP Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants