-
Notifications
You must be signed in to change notification settings - Fork 373
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
Conversation
PR summary 140a0d7782
|
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 therelative
value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
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.
Presumably there is a dual result for projective objects? Could you add that as well?
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.
Thanks!
bors r+
…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.)
Build failed (retrying...): |
…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.)
Build failed (retrying...): |
bors r- |
Canceled. |
bors d+ |
✌️ joelriou can now approve this pull request. To approve and merge a pull request, simply reply with |
Thanks! I hope it will work this time... bors merge |
…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.)
Pull request successfully merged into master. Build succeeded: |
* 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) ...
* 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) ...
This PR adds the lemma
injective_iff_rlp_monomorphisms_zero
which shows thatI
is an injective object iff0 : 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.)