Skip to content

feat(CategoryTheory): monomorphisms in Type are stable under transfinite compositions#23282

Closed
joelriou wants to merge 27 commits intomasterfrom
jriou-types-mono
Closed

feat(CategoryTheory): monomorphisms in Type are stable under transfinite compositions#23282
joelriou wants to merge 27 commits intomasterfrom
jriou-types-mono

Conversation

@joelriou
Copy link
Copy Markdown
Contributor

@joelriou joelriou commented Mar 24, 2025

monomorphisms (Type u) is stable under cobase change, filtered colimits and transfinite compositions.
(The file CategoryTheory.Types is also moved to CategoryTheory.Types.Basic.)
(This is extended to presheaves of types in #23298.)


Open in Gitpod

@joelriou joelriou added WIP Work in progress t-category-theory Category theory labels Mar 24, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 24, 2025

PR summary ccee4e2b30

Import changes exceeding 2%

% File
+2.57% Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition 738 757 +19 (+2.57%)
Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Monomorphisms 1038 1037 -1 (-0.10%)
Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives 1156 1155 -1 (-0.09%)
Import changes for all files
Files Import difference
6 files Mathlib.CategoryTheory.Abelian.FreydMitchell Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Coseparator Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.GabrielPopescu Mathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.Opposite Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Monomorphisms
-1
Mathlib.CategoryTheory.Types 1
Mathlib.CategoryTheory.MorphismProperty.TransfiniteComposition Mathlib.CategoryTheory.SmallObject.TransfiniteIteration 19
Mathlib.CategoryTheory.Types.Basic (new file) 325
Mathlib.CategoryTheory.Types.Monomorphisms (new file) 758

Declarations diff

+ IsStableUnderFilteredColimits
+ IsStableUnderTransfiniteCompositionOfShape.of_isStableUnderColimitsOfShape
+ colimMap
+ colimitsOfShape.mk'
+ colimitsOfShape_le
+ instance (j : J) : IsIso (h.incl.app j) := (h.ici j).isIso
+ instance : (monomorphisms (Type u)).IsStableUnderCobaseChange
+ instance : IsStableUnderFilteredColimits.{w, w'} (isomorphisms C)
+ instance : MorphismProperty.IsStableUnderFilteredColimits.{v', u'} (monomorphisms (Type u))
+ instance [HasFilteredColimitsOfSize.{v', u'} C] [AB5OfSize.{v', u'} C] :
+ instance {C : Type u} [Category.{v} C] [Abelian C] [IsGrothendieckAbelian.{w} C] :
+ instance {i j : J} (f : i ⟶ j) : IsIso (h.F.map f) := ((h.iic j).ici (⟨i, leOfHom f⟩)).isIso
+ limMap
+ limitsOfShape.mk'
+ limitsOfShape_le
+ mem
+ mem_map_bot_le
+ mono_inr
+ pushoutCocone_inr_injective_of_isColimit
+ pushoutCocone_inr_mono_of_isColimit
++ instance [W.IsMultiplicative] [W.RespectsIso]
- instance (j : J) : IsIso (h.incl.app j)
- instance : (isomorphisms C).IsStableUnderTransfiniteComposition
- instance : IsStableUnderTransfiniteComposition.{w} (monomorphisms C)
- instance {j : J} (g : ⊥ ⟶ j) : IsIso (h.F.map g) := by
- instance {j j' : J} (f : j ⟶ j') : IsIso (h.F.map f)
- isStableUnderCoproductsOfShape_of_isStableUnderCoproducts
- map_bot_le
- mono
- mono_map

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

@joelriou joelriou changed the title feat(CategoryTheory): monomorphisms in Type are stable under filtered colimits feat(CategoryTheory): monomorphisms in Type are stable under transfinite compositions Mar 24, 2025
@joelriou joelriou removed the WIP Work in progress label Mar 24, 2025
@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 Mar 27, 2025
@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Mar 27, 2025
@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 Apr 2, 2025
@github-actions github-actions bot removed the merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) label Apr 2, 2025
@erdOne erdOne added the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 27, 2025
joelriou and others added 4 commits April 27, 2025 20:11
Co-authored-by: Andrew Yang <36414270+erdOne@users.noreply.github.com>
Co-authored-by: Andrew Yang <36414270+erdOne@users.noreply.github.com>
@joelriou joelriou removed the awaiting-author A reviewer has asked the author a question or requested changes. label Apr 27, 2025
@callesonne callesonne added the awaiting-author A reviewer has asked the author a question or requested changes. label May 9, 2025
@github-actions github-actions bot removed the file-removed A Lean module was (re)moved without a `deprecated_module` annotation label May 10, 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 May 11, 2025
@github-actions github-actions bot added the large-import Automatically added label for PRs with a significant increase in transitive imports label May 11, 2025
@joelriou joelriou added WIP Work in progress and removed awaiting-author A reviewer has asked the author a question or requested changes. labels May 11, 2025
@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 May 13, 2025
@leanprover-community-bot-assistant
Copy link
Copy Markdown
Collaborator

This pull request has conflicts, please merge master and resolve them.

@joelriou
Copy link
Copy Markdown
Contributor Author

See #28219

@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 Aug 11, 2025
mathlib-bors bot pushed a commit that referenced this pull request Aug 15, 2025
…finite compositions (#26030)

If a class of morphisms is multiplicative, respects isomorphisms and is stable under filtered colimits, then it is stable under transfinite compositions.
(This simplifies the proof in the case of monomorphisms in Grothendieck abelian categories, for isomorphisms, and in #23282, we shall apply this to monomorphisms in `Type`.)



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@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 Aug 15, 2025
@joelriou joelriou closed this Aug 15, 2025
@YaelDillies YaelDillies deleted the jriou-types-mono branch August 18, 2025 07:25
Paul-Lez pushed a commit to Paul-Lez/mathlib4 that referenced this pull request Aug 23, 2025
…finite compositions (leanprover-community#26030)

If a class of morphisms is multiplicative, respects isomorphisms and is stable under filtered colimits, then it is stable under transfinite compositions.
(This simplifies the proof in the case of monomorphisms in Grothendieck abelian categories, for isomorphisms, and in leanprover-community#23282, we shall apply this to monomorphisms in `Type`.)



Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
pechersky pushed a commit to pechersky/mathlib4 that referenced this pull request Aug 25, 2025
…finite compositions (leanprover-community#26030)

If a class of morphisms is multiplicative, respects isomorphisms and is stable under filtered colimits, then it is stable under transfinite compositions.
(This simplifies the proof in the case of monomorphisms in Grothendieck abelian categories, for isomorphisms, and in leanprover-community#23282, we shall apply this to monomorphisms in `Type`.)



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

large-import Automatically added label for PRs with a significant increase in transitive imports merge-conflict The PR has a merge conflict with master, and needs manual merging. (this label is managed by a bot) migrated-to-fork t-category-theory Category theory WIP Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants