Skip to content

[Merged by Bors] - feat(Algebra/Category/Grp/LargeColimits): large colimits in the category of commutative additive groups#20522

Closed
smorel394 wants to merge 21 commits intomasterfrom
SM.bigColimit
Closed

[Merged by Bors] - feat(Algebra/Category/Grp/LargeColimits): large colimits in the category of commutative additive groups#20522
smorel394 wants to merge 21 commits intomasterfrom
SM.bigColimit

Conversation

@smorel394
Copy link
Copy Markdown
Collaborator

@smorel394 smorel394 commented Jan 6, 2025

If F : J ⥤ AddCommGrp.{w} is a functor, we show that F admits a colimit if and only
if Colimits.Quot F (the quotient of the direct sum of the commutative groups F.obj j
by the relations given by the morphisms in the diagram) is w-small.


Open in Gitpod

@smorel394 smorel394 added the t-category-theory Category theory label Jan 6, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 6, 2025

messageFile.md

@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 7, 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 7, 2025
@joelriou
Copy link
Copy Markdown
Contributor

joelriou commented Jan 7, 2025

Instead of "Big", I would suggest "Large", because it matches more the notions of "SmallCategory" and "LargeCategory" that we have.

@smorel394 smorel394 changed the title feat(Algebra/Category/Grp/BigColimit): big colimits in the category of commutative additive groups feat(Algebra/Category/Grp/LargeColimits): large colimits in the category of commutative additive groups Jan 7, 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 9, 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 Jan 9, 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 9, 2025
@joelriou joelriou added the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 20, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jan 20, 2025

PR summary 053d7b5023

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.Algebra.Category.Grp.LargeColimits (new file) 1501

Declarations diff

+ hasColimit_iff_small_quot
+ isColimit_iff_bijective_desc
++ ofHom_injective

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

@smorel394 smorel394 removed the awaiting-author A reviewer has asked the author a question or requested changes. label Jan 20, 2025
@joelriou
Copy link
Copy Markdown
Contributor

Thanks!

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Jan 20, 2025
mathlib-bors bot pushed a commit that referenced this pull request Jan 20, 2025
…ory of commutative additive groups (#20522)

If `F : J ⥤ AddCommGrp.{w}` is a functor, we show that `F` admits a colimit if and only
if `Colimits.Quot F` (the quotient of the direct sum of the commutative groups `F.obj j`
by the relations given by the morphisms in the diagram) is `w`-small.

- [x] depends on: #20416
- [x] depends on: #20512



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

mathlib-bors bot commented Jan 20, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat(Algebra/Category/Grp/LargeColimits): large colimits in the category of commutative additive groups [Merged by Bors] - feat(Algebra/Category/Grp/LargeColimits): large colimits in the category of commutative additive groups Jan 20, 2025
@mathlib-bors mathlib-bors bot closed this Jan 20, 2025
@mathlib-bors mathlib-bors bot deleted the SM.bigColimit branch January 20, 2025 10:56
mathlib-bors bot pushed a commit that referenced this pull request Jan 22, 2025
…mmutative additive groups preserves colimits (#20417)

Prove that the functor `AddCommGrp.ulift` preserves all colimits, hence creates small colimits. (This also finished the proof that it is an exact functor.)

Method: Suppose that we have a functor `K : J ⥤ AddCommGrp.{u}` (with `J` any category), a
colimit cocone `c` of `K` and a cocone `lc` of `K ⋙ uliftFunctor.{u v}`. We want to
construct a morphism of cocones `uliftFunctor.mapCocone c → lc` witnessing the fact
that `uliftFunctor.mapCocone c` is also a colimit cocone, but we have no direct way
to do this. The idea is to use that `AddCommGrp.{max v u}` has a small cogenerator,
which is just the additive (rational) circle `ℚ / ℤ`, so any abelian group of
any size can be recovered from its morphisms into `ℚ / ℤ`. More precisely, the functor
sending an abelian group `A` to its dual `A →+ ℚ / ℤ` is fully faithful, *if* we consider
the dual as a (right) module over the endomorphism ring of `ℚ / ℤ`. So an abelian
group `C` is totally determined by the restriction of the coyoneda
functor `A ↦ (C →+ A)` to the category of abelian groups at a smaller universe level.
We do not develop this totally here but do a direct construction. Every time we have
a morphism from `lc.pt` into `ℚ / ℤ`, or more generally into any small abelian group
`A`, we can construct a cocone of `K ⋙ uliftFunctor` by sticking `ULift A` at the
cocone point (this is `CategoryTheory.Limits.Cocone.extensions`), and this cocone is
actually made up of `u`-small abelian groups, hence gives a cocone of `K`. Using
the universal property of `c`, we get a morphism `c.pt →+ A`. So we have constructed
a map `(lc.pt →+ A) → (c.pt →+ A)`, and it is easy to prove that it is compatible with
postcomposition of morphisms of small abelian groups. To actually get the
morphism `c.pt →+ lc.pt`, we apply this to the canonical embedding of `lc.pt` into
`Π (_ : lc.pt →+ ℚ / ℤ), ℚ / ℤ` (this group is not small but is a product of small
groups, so our construction extends). To show that the image of `c.pt` in this product
is contained in that of `lc.pt`, we use the compatibility with postcomposition and the
fact that we can detect elements of the image just by applying morphisms from
`Π (_ : lc.pt →+ ℚ / ℤ), ℚ / ℤ` to `ℚ / ℤ`.

- [x] depends on: #20416
- [x] depends on: #20512
- [x] depends on: #20522
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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