Skip to content

[Merged by Bors] - refactor(Algebra/Category/ModuleCat): redefine presheaves of modules as families of objects in ModuleCat#16667

Closed
joelriou wants to merge 19 commits intomasterfrom
refactor-presheaf-of-modules
Closed

[Merged by Bors] - refactor(Algebra/Category/ModuleCat): redefine presheaves of modules as families of objects in ModuleCat#16667
joelriou wants to merge 19 commits intomasterfrom
refactor-presheaf-of-modules

Conversation

@joelriou
Copy link
Copy Markdown
Contributor

@joelriou joelriou commented Sep 10, 2024

In order to ease automation, a presheaf of modules is redefined as a family of objects in ModuleCat. Previously, it was defined as a presheaf of abelian groups with extra data, which was eventually creating a lot of issues with automation.


In #16755, this is applied to the construction of the free presheaf of modules functor (before the refactor, proofs were a nightmare, see #14245).

Open in Gitpod

@joelriou joelriou added WIP Work in progress t-category-theory Category theory labels Sep 10, 2024
@github-actions
Copy link
Copy Markdown

github-actions bot commented Sep 10, 2024

PR summary f31eabc9d2

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ IsLocallyInjective
+ IsLocallySurjective
+ colimitPresheafOfModules
+ comp_toPresheaf_map_sheafifyHomEquiv'_symm_hom
+ congr_map_apply
+ forgetToPresheafModuleCatObjMap
+ forgetToPresheafModuleCatObjMap_apply
+ forgetToPresheafModuleCatObjObj
+ forgetToPresheafModuleCatObjObj_coe
+ forgetToRingCat_map_apply
+ forgetToRingCat_obj
+ homMk
+ hom_ext
+ id_app
+ instance (M : PresheafOfModules R) (X : Cᵒᵖ) :
+ instance (X : Cᵒᵖ) : (evaluation.{v} R X).Additive
+ instance : Add (M₁ ⟶ M₂)
+ instance : AddCommGroup (M₁ ⟶ M₂)
+ instance : Category (PresheafOfModules.{v} R)
+ instance : IsLocallyInjective J (toSheafify α φ) := by
+ instance : IsLocallySurjective J (toSheafify α φ) := by
+ instance : Neg (M₁ ⟶ M₂)
+ instance : Sub (M₁ ⟶ M₂)
+ instance : Zero (M₁ ⟶ M₂)
+ instance {J : Type*} [Category J] (j : J) : ((evaluation J C).obj j).Additive
+ limitPresheafOfModules
+ map_smul
+ ofPresheaf
+ ofPresheaf_presheaf
+ presheaf_map_apply_coe
+ presheaf_obj_coe
+ restrictScalarsCompToPresheaf
+ restrictScalarsObj
+ sections.eval
+ toPresheaf_map_app_apply
+ toPresheaf_map_sheafificationAdjunction_unit_app
+ toPresheaf_map_sheafificationHomEquiv
+ toPresheaf_map_sheafificationHomEquiv_def
+ toPresheaf_map_toSheafify
+ toPresheaf_obj_coe
+ toSheafify_app_apply
+ zsmul_app
- BundledCorePresheafOfModules
- CorePresheafOfModules
- app
- colimitBundledCore
- colimitCoconeιApp
- colimitCoconeιApp_naturality
- comp
- comp_hom
- comp_sheafifyHomEquiv'_symm_hom
- ext
- id
- id_hom
- instance (X : Cᵒᵖ) : (evaluation R X).Additive
- instance (X : Cᵒᵖ) : Module (R.obj X) (M.presheaf.obj X) := M.module X
- instance (X : Cᵒᵖ) : RingHomId (R.map (𝟙 X))
- instance : Add (P ⟶ Q) := ⟨fun f g => mk (f.hom + g.hom) (by
- instance : AddCommGroup (P ⟶ Q)
- instance : Category (PresheafOfModules R)
- instance : Neg (P ⟶ Q) := ⟨fun f => mk (-f.hom) (by
- instance : Presheaf.IsLocallyInjective J (toSheafify α φ).hom := by
- instance : Presheaf.IsLocallySurjective J (toSheafify α φ).hom := by
- instance : Sub (P ⟶ Q) := ⟨fun f g => mk (f.hom - g.hom) (by
- instance : Zero (P ⟶ Q) := ⟨mk 0 (by
- instance {R : Dᵒᵖ ⥤ RingCat.{u}} (P : PresheafOfModules.{v} R) (F : C ⥤ D) (X : Cᵒᵖ) :
- instance {X Y Z : Cᵒᵖ} (f : X ⟶ Y) (g : Y ⟶ Z) :
- limitBundledCore
- limitConeπApp
- limitConeπApp_naturality
- map
- map_apply
- map_comp
- map_id
- mk'
- mk''
- mk'_app
- obj
- preTildeInAddCommGrp
- pushforward_obj_obj
- relativeDifferentials'BundledCore
- relativeDifferentials'_map_apply
- relativeDifferentials'_obj
- restrictScalarsBundledCore
- restrictionApp
- restrictionApp_apply
- restrictionApp_comp
- restrictionApp_id
- restrictionApp_naturality
- restrictionApp_toPresheafOfModules
- sheafificationAdjunction_unit_app_hom
- sheafificationHomEquiv_hom
- sheafificationHomEquiv_hom'
- tildeInAddCommGrp
- toCorePresheafOfModules
- toPresheaf_map_app
- unitCore
-- toPresheafOfModules
-- toPresheafOfModules_obj
-- toPresheafOfModules_presheaf_map_apply

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.

@joelriou joelriou added the workshop-AIM-AG-2024 This PR is associated with the 2024 AIM workshop on formalization of algebraic geometry label Sep 13, 2024
@joelriou joelriou removed the WIP Work in progress label Sep 13, 2024
@joelriou joelriou changed the title refactor(Algebra/Category/ModuleCat/Presheaf): redefine presheaves of modules as families of objects in ModuleCat refactor(Algebra/Category/ModuleCat): redefine presheaves of modules as families of objects in ModuleCat Sep 13, 2024
Copy link
Copy Markdown
Contributor

@dagurtomas dagurtomas left a comment

Choose a reason for hiding this comment

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

This is a very reasonable change. Everything looks good to me, I just had one very minor comment.

@dagurtomas dagurtomas added the awaiting-author A reviewer has asked the author a question or requested changes. label Sep 26, 2024
@joelriou
Copy link
Copy Markdown
Contributor Author

Thanks @dagurtomas for the reviews!

@joelriou joelriou removed the awaiting-author A reviewer has asked the author a question or requested changes. label Sep 26, 2024
@dagurtomas
Copy link
Copy Markdown
Contributor

maintainer merge

@github-actions
Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by dagurtomas.

@github-actions github-actions bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Sep 26, 2024
@kim-em
Copy link
Copy Markdown
Contributor

kim-em commented Sep 27, 2024

❤️ Very happy to see that this works out better!

bors merge

@github-actions github-actions bot added the ready-to-merge This PR has been sent to bors. label Sep 27, 2024
mathlib-bors bot pushed a commit that referenced this pull request Sep 27, 2024
…as families of objects in `ModuleCat` (#16667)

In order to ease automation, a presheaf of modules is redefined as a family of objects in `ModuleCat`. Previously, it was defined as a presheaf of abelian groups with extra data, which was eventually creating a lot of issues with automation.



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

mathlib-bors bot commented Sep 27, 2024

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title refactor(Algebra/Category/ModuleCat): redefine presheaves of modules as families of objects in ModuleCat [Merged by Bors] - refactor(Algebra/Category/ModuleCat): redefine presheaves of modules as families of objects in ModuleCat Sep 27, 2024
@mathlib-bors mathlib-bors bot closed this Sep 27, 2024
@mathlib-bors mathlib-bors bot deleted the refactor-presheaf-of-modules branch September 27, 2024 02:41
fbarroero pushed a commit that referenced this pull request Oct 2, 2024
…as families of objects in `ModuleCat` (#16667)

In order to ease automation, a presheaf of modules is redefined as a family of objects in `ModuleCat`. Previously, it was defined as a presheaf of abelian groups with extra data, which was eventually creating a lot of issues with automation.



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

maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. ready-to-merge This PR has been sent to bors. t-category-theory Category theory workshop-AIM-AG-2024 This PR is associated with the 2024 AIM workshop on formalization of algebraic geometry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants