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
joelriou
wants to merge
38
commits into
master
Choose a base branch
from
refactor-lan
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
+656
−282
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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>
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
removed
the
blocked-by-other-PR
This PR depends on another PR which is still in the queue.
label
Feb 12, 2024
This PR/issue depends on: |
leanprover-community-mathlib4-bot
added
the
merge-conflict
The PR has a merge conflict with master, and needs manual merging.
label
Feb 12, 2024
ext x | ||
dsimp | ||
erw [yonedaEquiv_apply] | ||
simp |
There was a problem hiding this comment.
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
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
This was referenced Apr 16, 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
removed
the
merge-conflict
The PR has a merge conflict with master, and needs manual merging.
label
May 12, 2024
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
removed
the
merge-conflict
The PR has a merge conflict with master, and needs manual merging.
label
May 13, 2024
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 functorF : 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 asleftKanExtension F G
. As a result,(leftKanExtension F G).obj X
is no longer defined as colimit, but when it is known thatG
has a pointwise left Kan extension, it is shown thatleftKanExtension 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.