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] - feat(CategoryTheory): characterization of injective objects in terms of lifting properties #22104

Closed
wants to merge 11 commits into from

Conversation

joelriou
Copy link
Collaborator

@joelriou joelriou commented Feb 19, 2025

This PR adds the lemma injective_iff_rlp_monomorphisms_zero which shows that I is an injective object iff 0 : I ⟶ 0 has the right lifting property with respect to the class of monomorphisms. We also move the files regarding injectives objects to a subdirectory. (Dual results for projective objects are also added.)


Open in Gitpod

@joelriou joelriou added the t-category-theory Category theory label Feb 19, 2025
@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label Feb 19, 2025
Copy link

github-actions bot commented Feb 19, 2025

PR summary 140a0d7782

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.CategoryTheory.Abelian.ProjectiveDimension -1375
Mathlib.CategoryTheory.Abelian.Injective Mathlib.CategoryTheory.Abelian.Projective -1195
Mathlib.CategoryTheory.Abelian.ProjectiveResolution -1026
Mathlib.CategoryTheory.Abelian.InjectiveResolution -1023
Mathlib.CategoryTheory.Preadditive.InjectiveResolution Mathlib.CategoryTheory.Preadditive.ProjectiveResolution -1017
Mathlib.CategoryTheory.Preadditive.Injective -601
Mathlib.CategoryTheory.Preadditive.Projective -600
Mathlib.CategoryTheory.Preadditive.Projective.Basic 600
Mathlib.CategoryTheory.Preadditive.Injective.Basic 601
Mathlib.CategoryTheory.Preadditive.Projective.LiftingProperties (new file) 635
Mathlib.CategoryTheory.Preadditive.Injective.LiftingProperties (new file) 636
Mathlib.CategoryTheory.Preadditive.Injective.Resolution Mathlib.CategoryTheory.Preadditive.Projective.Resolution 1017
Mathlib.CategoryTheory.Abelian.Injective.Resolution 1023
Mathlib.CategoryTheory.Abelian.Projective.Resolution 1026
Mathlib.CategoryTheory.Abelian.Injective.Basic Mathlib.CategoryTheory.Abelian.Projective.Basic 1195
Mathlib.CategoryTheory.Abelian.Projective.Dimension 1375

Declarations diff

+ injective_iff_rlp_monomorphisms_of_isZero
+ injective_iff_rlp_monomorphisms_zero
+ instance {A B I : C} (i : A ⟶ B) [Mono i] [Injective I] [HasZeroObject C] (p : I ⟶ 0) :
+ instance {X Y P : C} (p : X ⟶ Y) [Epi p] [Projective P] [HasZeroObject C] (i : 0 ⟶ P) :
+ projective_iff_llp_epimorphisms_of_isZero
+ projective_iff_llp_epimorphisms_zero
++ hasLiftingProperty_of_isZero

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.


No changes to technical debt.

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).

Copy link
Member

@TwoFX TwoFX left a comment

Choose a reason for hiding this comment

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

Presumably there is a dual result for projective objects? Could you add that as well?

@TwoFX TwoFX added the awaiting-author A reviewer has asked the author a question or requested changes label Feb 20, 2025
@github-actions github-actions bot removed the large-import Automatically added label for PRs with a significant increase in transitive imports label Feb 20, 2025
@joelriou joelriou removed the awaiting-author A reviewer has asked the author a question or requested changes label Feb 20, 2025
Copy link
Member

@TwoFX TwoFX left a comment

Choose a reason for hiding this comment

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

Thanks!
bors r+

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the ready-to-merge This PR has been sent to bors. label Feb 20, 2025
mathlib-bors bot pushed a commit that referenced this pull request Feb 20, 2025
…of lifting properties (#22104)

This PR adds the lemma `injective_iff_rlp_monomorphisms_zero` which shows that `I` is an injective object iff `0 : I ⟶ 0` has the right lifting property with respect to the class of monomorphisms. We also move the files regarding injectives objects to a subdirectory. (Dual results for projective objects are also added.)
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 20, 2025

Build failed (retrying...):

mathlib-bors bot pushed a commit that referenced this pull request Feb 20, 2025
…of lifting properties (#22104)

This PR adds the lemma `injective_iff_rlp_monomorphisms_zero` which shows that `I` is an injective object iff `0 : I ⟶ 0` has the right lifting property with respect to the class of monomorphisms. We also move the files regarding injectives objects to a subdirectory. (Dual results for projective objects are also added.)
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 20, 2025

Build failed (retrying...):

@TwoFX
Copy link
Member

TwoFX commented Feb 20, 2025

bors r-

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 20, 2025

Canceled.

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot removed the ready-to-merge This PR has been sent to bors. label Feb 20, 2025
@TwoFX
Copy link
Member

TwoFX commented Feb 20, 2025

✖ [714/6192] Running Mathlib.CategoryTheory.Abelian.Projective
error: no such file or directory (error code: 2)
  file: ././././Mathlib/CategoryTheory/Abelian/Projective.lean
✖ [715/6192] Running Mathlib.CategoryTheory.Abelian.Yoneda
error: ././././Mathlib/CategoryTheory/Abelian/Yoneda.lean: bad import 'Mathlib.CategoryTheory.Abelian.Projective'
✖ [793/6192] Running Mathlib
error: ././././Mathlib.lean: bad import 'Mathlib.CategoryTheory.Abelian.Yoneda'

bors d+

@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 20, 2025

✌️ joelriou can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@joelriou
Copy link
Collaborator Author

Thanks! I hope it will work this time...

bors merge

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added the ready-to-merge This PR has been sent to bors. label Feb 20, 2025
mathlib-bors bot pushed a commit that referenced this pull request Feb 20, 2025
…of lifting properties (#22104)

This PR adds the lemma `injective_iff_rlp_monomorphisms_zero` which shows that `I` is an injective object iff `0 : I ⟶ 0` has the right lifting property with respect to the class of monomorphisms. We also move the files regarding injectives objects to a subdirectory. (Dual results for projective objects are also added.)
@mathlib-bors
Copy link
Contributor

mathlib-bors bot commented Feb 20, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(CategoryTheory): characterization of injective objects in terms of lifting properties [Merged by Bors] - feat(CategoryTheory): characterization of injective objects in terms of lifting properties Feb 20, 2025
@mathlib-bors mathlib-bors bot closed this Feb 20, 2025
@mathlib-bors mathlib-bors bot deleted the jriou-injective-rlp branch February 20, 2025 15:17
Julian added a commit that referenced this pull request Feb 21, 2025
* origin/master: (823 commits)
  chore(Computability): fix naming of lemmas about Sum.inl, Sum.inr, Sum.casesOn (#22156)
  feat: `Fintype Ordering` (#22154)
  chore: more renamings to fit the naming convention (#22148)
  feat(CategoryTheory): any monomorphism in a Grothendieck abelian category is a transfinite composition of pushouts of monomorphisms in a small family (#22157)
  chore: rename `{Continuous., continuous_}sum_map` to `sumMap` (#22155)
  chore: remove initial space followed by `-/` (#22158)
  chore: make arg in HeightOneSpectrum.valuation explicit (#22139)
  feat(Data/List): `List.maximum` is monotone (#22091)
  chore(Combinatorics/SimpleGraph): extract WalkDecomp from Walk (#21981)
  feat: if a monoid M acts, then so does (s : S) with [SubmonoidClass S M] (#21123)
  chore: backport changes to `getElem` lemmas (#22146)
  feat(CategoryTheory): generating monomorphisms in Grothendieck abelian categories (#22150)
  feat: rename variables to fit doc (#22143)
  feat(CategoryTheory): IsDetecting.isIso_iff_of_mono (#22135)
  feat(CategoryTheory): truncations of transfinite compositions (#22149)
  chore: simplify a proof (#22134)
  feat(CategoryTheory): monomorphisms are stable under coproducts in Grothendieck abelian categories (#22133)
  feat(Order): Set.Ici.isSuccLimit_coe (#22103)
  chore(Analysis/Convex/Normed): split into smaller files (#22015)
  feat(Algebra/Algebra/Lie): max nilpotent ideal <= radical (#22140)
  refactor(LinearIndependent): refactor to use LinearIndepOn (#21886)
  chore: rename some more `Foo.sum_elim` -> `sumElim` (#22130)
  chore: rename Injective.sum_elim and friends (#22129)
  chore: fix naming oversight from #22070 (#22128)
  chore: fix spelling mistakes (#22136)
  feat(RingTheory/Ideal/Quotient): define transtition map between ring or module quotient by powers of ideal (#21900)
  fix: initialize_simps_projections print warning when projection data already exists (#20339)
  chore: rename ContMDiff.sum_{elim,map} (#22131)
  feat(CategoryTheory): characterization of injective objects in terms of lifting properties (#22104)
  chore(Lean,Tactic): un-indent some doc-strings (#22118)
  feat(Algebra/MvPolynomial): add `comp` versions of rename lemmas (#21259)
  chose: add deprecation (#22124)
  feat(CategoryTheory/Abelian/GrothendieckCategory): computing colimits in Subobject (#22123)
  feat(CategoryTheory/Subobject): hasCardinalLT_of_mono (#22122)
  feat: add `DenseRange.piMap` (#22114)
  feat(Algebra/Algebra/Lie): define the maximal nilpotent ideal of Lie algebras (#22061)
  chore(Data/Finset): don't import algebra when defining `Finset.card` (#21866)
  feat: a function on a discrete space is smooth (#22113)
  feat: commutative group objects in additive categories (#21521)
  style(Geometry/Manifold): remove superfluous indentation in doc-strings (#22117)
  chore: rename PushNeg.lean to Push.lean (#22108)
  feat: add Is{Open,Closed}Embedding.sum_elim (#22070)
  feat(RingTheory/Perfectoid): define the untilt map and generalize pretilt (#21563)
  feature(Topology/Algebra/Module/WeakBilin): Linear map from F into the topological dual of E with the weak topology (#21078)
  feat(CategoryTheory/Abelian): the exact sequence attached to a pushout square (#22110)
  chore(ChartedSpace.lean): group constructions together (#22107)
  feat(CategoryTheory/MorphismProperty): more basic API (#22099)
  chore(Data/Fintype): split `Fintype/Card.lean` (#21840)
  chore(SetTheory/Cardinal/Cofinality): make `IsStrongLimit` into a structure (#21971)
  feat(Combinatorics/SimpleGraph): Add a theorem about cliques in induced subgraphs (#20705)
  ...
Julian added a commit that referenced this pull request Feb 22, 2025
* polynomial-sequences: (558 commits)
  Correct the TODO to mention IsCancelAdd which does exist.
  Talk about strict monotonicity instead, thanks @pechersky.
  Mention the TODO on li generalization to semirings.
  One more dedent.
  Same injectivity twiddling for basis.
  nontiviality to simplify this proof, and some dedenting.
  Hopefully more correct injectivity lemmas matching the naming convention.
  Fix the empty docstring.
  Update Mathlib/Algebra/Polynomial/Sequence.lean
  Fix the variable naming.
  Apply suggestions from code review
  chore(Computability): fix naming of lemmas about Sum.inl, Sum.inr, Sum.casesOn (#22156)
  feat: `Fintype Ordering` (#22154)
  chore: more renamings to fit the naming convention (#22148)
  feat(CategoryTheory): any monomorphism in a Grothendieck abelian category is a transfinite composition of pushouts of monomorphisms in a small family (#22157)
  chore: rename `{Continuous., continuous_}sum_map` to `sumMap` (#22155)
  chore: remove initial space followed by `-/` (#22158)
  chore: make arg in HeightOneSpectrum.valuation explicit (#22139)
  feat(Data/List): `List.maximum` is monotone (#22091)
  chore(Combinatorics/SimpleGraph): extract WalkDecomp from Walk (#21981)
  feat: if a monoid M acts, then so does (s : S) with [SubmonoidClass S M] (#21123)
  chore: backport changes to `getElem` lemmas (#22146)
  feat(CategoryTheory): generating monomorphisms in Grothendieck abelian categories (#22150)
  feat: rename variables to fit doc (#22143)
  feat(CategoryTheory): IsDetecting.isIso_iff_of_mono (#22135)
  feat(CategoryTheory): truncations of transfinite compositions (#22149)
  chore: simplify a proof (#22134)
  feat(CategoryTheory): monomorphisms are stable under coproducts in Grothendieck abelian categories (#22133)
  feat(Order): Set.Ici.isSuccLimit_coe (#22103)
  chore(Analysis/Convex/Normed): split into smaller files (#22015)
  feat(Algebra/Algebra/Lie): max nilpotent ideal <= radical (#22140)
  refactor(LinearIndependent): refactor to use LinearIndepOn (#21886)
  chore: rename some more `Foo.sum_elim` -> `sumElim` (#22130)
  chore: rename Injective.sum_elim and friends (#22129)
  chore: fix naming oversight from #22070 (#22128)
  chore: fix spelling mistakes (#22136)
  feat(RingTheory/Ideal/Quotient): define transtition map between ring or module quotient by powers of ideal (#21900)
  fix: initialize_simps_projections print warning when projection data already exists (#20339)
  chore: rename ContMDiff.sum_{elim,map} (#22131)
  feat(CategoryTheory): characterization of injective objects in terms of lifting properties (#22104)
  chore(Lean,Tactic): un-indent some doc-strings (#22118)
  feat(Algebra/MvPolynomial): add `comp` versions of rename lemmas (#21259)
  chose: add deprecation (#22124)
  feat(CategoryTheory/Abelian/GrothendieckCategory): computing colimits in Subobject (#22123)
  feat(CategoryTheory/Subobject): hasCardinalLT_of_mono (#22122)
  feat: add `DenseRange.piMap` (#22114)
  feat(Algebra/Algebra/Lie): define the maximal nilpotent ideal of Lie algebras (#22061)
  chore(Data/Finset): don't import algebra when defining `Finset.card` (#21866)
  feat: a function on a discrete space is smooth (#22113)
  feat: commutative group objects in additive categories (#21521)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated 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.

3 participants