Skip to content

[Merged by Bors] - feat(CategoryTheory/Shift/Opposite and CategoryTheory/Shift/Pullback): CommShift structures on adjunctions are compatible with opposites and pullbacks#20363

Closed
smorel394 wants to merge 38 commits intomasterfrom
SM.commShiftAdjunctionOp
Closed

[Merged by Bors] - feat(CategoryTheory/Shift/Opposite and CategoryTheory/Shift/Pullback): CommShift structures on adjunctions are compatible with opposites and pullbacks#20363
smorel394 wants to merge 38 commits intomasterfrom
SM.commShiftAdjunctionOp

Conversation

@smorel394
Copy link
Copy Markdown
Collaborator

@smorel394 smorel394 commented Dec 31, 2024

Suppose that we use categories C and D equiped with a shifts by an additive monoid A, functors F,F' : C ⥤ D, a functor G : D ⥤ C, a natural transformation τ : F ⟶ F' and an adjunction adj between F and G.

  • For any map of additive monoids φ : B →+ A, we define type synonyms PullbackShift.functor F φ for F, PullbackShift.natTrans τ φ for τ, and PullbackShift.adjunction adj φ for adj. We then prove that a CommShift structure on F (resp. τ, resp. adj) induces a CommShift structure on PullbackShift.functor F φ (resp. PullbackShift.natTrans τ φ, resp. PullbackShift.adjunction adj φ ).

  • Similarly, we define type synonyms OppositeShift.functor A F for F.op, OppositeShift.natTrans A τ for τ.op and OppositeShift.adjunction A adj for adj.op, and prove that a CommShift structure on F (resp. τ, resp. adj) induces a CommShift structure on OppositeShift.functor A F (resp. OppositeShift.natTrans A τ, resp. OppositeShift.adjunction A adj ) for the naive shifts on the opposite categories.

  • The point of the second part is to reserve F.op etc to carry CommShift structures for the modified shift on the opposite categories used in the theory of (pre)triangulated categories. We illustrate this by simplifying the definition of the instance commShiftOpInt (a CommShift ℤ instance on F.op for the modified shifts) in the file Triangulated.Opposite.Functor.


Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions bot commented Dec 31, 2024

PR summary 000cd46006

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.CategoryTheory.Shift.Pullback 684 688 +4 (+0.58%)
Mathlib.CategoryTheory.Shift.Opposite 809 812 +3 (+0.37%)
Mathlib.CategoryTheory.Triangulated.Opposite.Functor 1150 1153 +3 (+0.26%)
Import changes for all files
Files Import difference
Mathlib.Algebra.Homology.DerivedCategory.Ext.ExactSequences 1
Mathlib.CategoryTheory.Triangulated.Yoneda 2
6 files Mathlib.CategoryTheory.Triangulated.Opposite.Functor Mathlib.CategoryTheory.Triangulated.Opposite.Pretriangulated Mathlib.CategoryTheory.Shift.ShiftedHomOpposite Mathlib.CategoryTheory.Triangulated.Opposite.Triangle Mathlib.CategoryTheory.Shift.Opposite Mathlib.CategoryTheory.Triangulated.Opposite.Basic
3
Mathlib.CategoryTheory.Shift.Pullback 4

Declarations diff

+ OppositeShift.adjunction
+ OppositeShift.functor
+ OppositeShift.natIsoComp
+ OppositeShift.natIsoId
+ OppositeShift.natTrans
+ PullbackShift.adjunction
+ PullbackShift.functor
+ PullbackShift.natIsoComp
+ PullbackShift.natIsoId
+ PullbackShift.natTrans
+ commShiftOp_iso_eq
+ instance : NatTrans.CommShift (OppositeShift.natIsoId C A).hom A
+ instance : NatTrans.CommShift (PullbackShift.natIsoComp φ F G).hom A
+ instance : NatTrans.CommShift (PullbackShift.natIsoId C φ).hom A
+ instance [F.CommShift A] [G.CommShift A] :
++ commShift_op
+++ on
-+++ commShiftPullback

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.


Decrease in tech debt: (relative, absolute) = (3.00, 0.00)
Current number Change Type
1512 -3 erw

Current commit 000cd46006
Reference commit 5e298f933b

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@github-actions github-actions bot added the t-category-theory Category theory label Dec 31, 2024
@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes. label Dec 31, 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 Jan 1, 2025
@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 Jan 1, 2025
@smorel394 smorel394 removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 2, 2025
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jan 2, 2025
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jan 3, 2025
@mathlib4-dependent-issues-bot
Copy link
Copy Markdown
Collaborator

This PR/issue depends on:

@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 10, 2025
smorel394 and others added 4 commits January 10, 2025 09:53
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@smorel394 smorel394 removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 10, 2025
@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 10, 2025
@smorel394 smorel394 removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 10, 2025
@joelriou
Copy link
Copy Markdown
Contributor

Could you edit the PR description so that it matches more what the PR has become?

bors d+

@ghost ghost added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Jan 10, 2025
@smorel394
Copy link
Copy Markdown
Collaborator Author

Could you edit the PR description so that it matches more what the PR has become?

bors d+

I also changed the initial descriptions in the files themselves.

@smorel394
Copy link
Copy Markdown
Collaborator Author

bors r+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 10, 2025

🔒 Permission denied

Existing reviewers: click here to make smorel394 a reviewer

@smorel394
Copy link
Copy Markdown
Collaborator Author

smorel394 commented Jan 10, 2025

I think I got confused, I thought "bors d+" meant I was authorized to merge myself... Oh well.

@joelriou
Copy link
Copy Markdown
Contributor

I do not know what happened...

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jan 10, 2025
mathlib-bors bot pushed a commit that referenced this pull request Jan 10, 2025
…: `CommShift` structures on adjunctions are compatible with opposites and pullbacks (#20363)

Suppose that we use categories `C` and `D` equiped with a shifts by an additive monoid `A`, functors `F,F' : C ⥤ D`, a functor `G : D ⥤ C`, a natural transformation `τ : F ⟶ F'` and an adjunction `adj` between `F` and `G`.

* For any map of additive monoids `φ : B →+ A`, we define type synonyms `PullbackShift.functor F φ` for `F`, `PullbackShift.natTrans τ φ` for `τ`, and `PullbackShift.adjunction adj φ` for `adj`. We then prove that a `CommShift` structure on `F` (resp. `τ`, resp. `adj`) induces a `CommShift` structure on `PullbackShift.functor F φ` (resp. `PullbackShift.natTrans τ φ`, resp. `PullbackShift.adjunction adj φ` ).

* Similarly, we define type synonyms `OppositeShift.functor A F` for `F.op`, `OppositeShift.natTrans A τ` for `τ.op` and `OppositeShift.adjunction A adj` for `adj.op`, and prove that a `CommShift` structure on `F` (resp. `τ`, resp. `adj`) induces a `CommShift` structure on `OppositeShift.functor A F` (resp. `OppositeShift.natTrans A τ`, resp. `OppositeShift.adjunction A adj` ) for the naive shifts on the opposite categories.

* The point of the second part is to reserve `F.op` etc to carry `CommShift` structures for the modified shift on the opposite categories used in the theory of (pre)triangulated categories. We illustrate this by simplifying the definition of the instance `commShiftOpInt` (a `CommShift ℤ` instance on `F.op` for the modified shifts) in the file `Triangulated.Opposite.Functor`.



- [x] depends on: #20364



Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Jan 10, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(CategoryTheory/Shift/Opposite and CategoryTheory/Shift/Pullback): CommShift structures on adjunctions are compatible with opposites and pullbacks [Merged by Bors] - feat(CategoryTheory/Shift/Opposite and CategoryTheory/Shift/Pullback): CommShift structures on adjunctions are compatible with opposites and pullbacks Jan 10, 2025
@mathlib-bors mathlib-bors bot closed this Jan 10, 2025
@mathlib-bors mathlib-bors bot deleted the SM.commShiftAdjunctionOp branch January 10, 2025 18:59
grunweg pushed a commit that referenced this pull request Jan 11, 2025
…: `CommShift` structures on adjunctions are compatible with opposites and pullbacks (#20363)

Suppose that we use categories `C` and `D` equiped with a shifts by an additive monoid `A`, functors `F,F' : C ⥤ D`, a functor `G : D ⥤ C`, a natural transformation `τ : F ⟶ F'` and an adjunction `adj` between `F` and `G`.

* For any map of additive monoids `φ : B →+ A`, we define type synonyms `PullbackShift.functor F φ` for `F`, `PullbackShift.natTrans τ φ` for `τ`, and `PullbackShift.adjunction adj φ` for `adj`. We then prove that a `CommShift` structure on `F` (resp. `τ`, resp. `adj`) induces a `CommShift` structure on `PullbackShift.functor F φ` (resp. `PullbackShift.natTrans τ φ`, resp. `PullbackShift.adjunction adj φ` ).

* Similarly, we define type synonyms `OppositeShift.functor A F` for `F.op`, `OppositeShift.natTrans A τ` for `τ.op` and `OppositeShift.adjunction A adj` for `adj.op`, and prove that a `CommShift` structure on `F` (resp. `τ`, resp. `adj`) induces a `CommShift` structure on `OppositeShift.functor A F` (resp. `OppositeShift.natTrans A τ`, resp. `OppositeShift.adjunction A adj` ) for the naive shifts on the opposite categories.

* The point of the second part is to reserve `F.op` etc to carry `CommShift` structures for the modified shift on the opposite categories used in the theory of (pre)triangulated categories. We illustrate this by simplifying the definition of the instance `commShiftOpInt` (a `CommShift ℤ` instance on `F.op` for the modified shifts) in the file `Triangulated.Opposite.Functor`.



- [x] depends on: #20364



Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
Julian added a commit that referenced this pull request Jan 12, 2025
* origin/master: (88 commits)
  chore(scripts): update nolints.json (#20672)
  chore: de-simp `map_eq_zero_iff_eq_one` (#20662)
  feat(Combinatorics/SimpleGraph): add independent sets (#18608)
  chore(CategoryTheory/Limits/Cones): functoriality of `mapCone` (#20641)
  feat(Algebra/Category/ModuleCat): pullback of presheaves of modules (#17366)
  feat(AlgebraicTopology): model categories (#19158)
  chore(CategoryTheory): make NormalEpi/MonoCategory and RegularEpi/MonoCategory props (#19548)
  feat(Data/List/ReduceOption): add replicate theorems (#20644)
  feat: approximate subgroups (#20050)
  feat: use scoped trace nodes in linarith (#19855)
  feat: disjoint union of charted spaces (#20619)
  feat: add some term elaborators for reduction (#15192)
  feat(Topology/Category): category of delta-generated spaces (#19499)
  add a variable_alias for Quantale and AddQuantale (#19282)
  feat(Computability/DFA): implement `isRegular_iff` (#19940)
  chore: unpin and bump batteries and importgraph (#20651)
  chore: split `Mathlib/Algebra/Group/Int` (#20624)
  feat: three lemmas related to Hausdorff distance (#20585)
  chore: `initialize_simps_projections` for `Submodule` (#20582)
  feat(Order): Boolean algebra structure on idempotents (#20618)
  chore(CategoryTheory): moving/renaming Subpresheaf (#20583)
  refactor(IntermediateField/Adjoin): Split off relation to `Algebra.adjoin` (#20630)
  feat: sets of doubling strictly less than 3/2 (#20572)
  chore(TensorProduct): universe polymorphism in EquationalCriterion (#20452)
  feat: `s \ t ∩ u = (s ∩ u) \ t` (#20298)
  feat: product of subalgebras (#20202)
  feat: `Submodule.restrictScalars` commutes with `pow` (#20581)
  feat: `a ∈ s ^ n` iff there exists a sequence `f` of `n` elements of `s` such that `∏ i, f i = a` (#20580)
  chore: make `FooHom.coe_id` a `norm_cast` lemma (#20576)
  chore: use ofNat more (#20546)
  feat(CategoryTheory/Shift/Opposite and CategoryTheory/Shift/Pullback): `CommShift` structures on adjunctions are compatible with opposites and pullbacks (#20363)
  feat(FieldTheory/Differential/Liouville): prove the algebraic case of Liouville's theorem (#16797)
  refactor: remove the `CompactSpace` field from `Unique{NonUnital}ContinuousFunctionalCalculus` (#20590)
  feat: Make `PNat.recOn` induction eliminator (#20617)
  feat(Analysis/SpecialFunctions/Pow/Real): add some lemmas (#20608)
  feat: If `s ∆ t` is finite, then `s ∆ u` is finite iff `t ∆ u` is (#20574)
  feat: `⨅ i, f i ≤ ⨆ i, f i` (#20573)
  chore(Geometry/Manifold): move SmoothManifoldWithCorners.lean to IsManifold.lean (#20611)
  feat: AbsoluteValue.IsNontrivial (#20588)
  chore(Data/Finsupp): split off extensionality from `Defs.lean` (#19092)
  chore(Data/Set): split the `CoeSort` instance to its own file (#19031)
  feat(Algebra/Order/Archimedean/Basic): powers between two elements (#20612)
  feature(Algebra/Ring/Idempotents): product of an idempotent and its complement (#20286)
  chore: cleanup more `erw` (#20601)
  chore(GroupTheory/CoprodI): shorten proof of lift_word_prod_nontrivial_of_not_empty (#20587)
  chore: cleanup imports in PrimePow/Divisors (#20626)
  chore: split Algebra/BigOperators/Group/List (#20625)
  chore: reduce Topology->Order imports by moving content (#20627)
  chore(Algebra/Lie/DirectSum): shorten proof of lieAlgebraOf.map_lie' (#20592)
  refactor: Split `FieldTheory/Adjoin.lean` into `Defs.lean` and `Basic.lean` (#20333)
  ...
mathlib-bors bot pushed a commit that referenced this pull request Jan 12, 2025
…riangulated functor is triangulated (#20543)

If a functor `G : D ⥤ C` between pretriangulated categories is triangulated, and if we have an adjunction `F ⊣ G` (that commutes with the shifts), then `F` is also a triangulated functor.

We prove this from the symmetric statement (`F` triangulated implies `G` triangulated) using opposite categories.

- [ ] depends on: #20363




Co-authored-by: smorel394 <67864981+smorel394@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). 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