Skip to content

[Merged by Bors] - refactor(CategoryTheory/SmallObject): generalization of the definitions#20256

Closed
joelriou wants to merge 87 commits intomasterfrom
small-object-8-bis-refactor
Closed

[Merged by Bors] - refactor(CategoryTheory/SmallObject): generalization of the definitions#20256
joelriou wants to merge 87 commits intomasterfrom
small-object-8-bis-refactor

Conversation

@joelriou
Copy link
Copy Markdown
Contributor

@joelriou joelriou commented Dec 26, 2024

The ongoing definition of the iteration of a natural transformation ε : 𝟭 C ⟶ F (with F : C ⥤ C) is generalized to "successor structures" (which shall become a mathlibism), i.e. in a category D, this consists of a zeroth object X₀, a successor application succ : D → D and, for all X : D, a map toSucc X : X → succ X (which does not have to be natural: it is not always so in some applications). For such a Φ : SuccStruct D, if J is a well-ordered type, we define the J-th iteration of Φ. (In the case J := ℕ, this is the colimit of succ (succ (succ (succ ... X₀))).)

The iteration of a functor is a particular case of this constructor with D := C ⥤ C.

As toSucc does not have to be natural in X, the caveat is that the proofs make extensive use of equalities of objects in C and Arrow C, while my previous construction used comparison isomorphisms. Nevertheless, the proofs look much more clean now. One of the reasons is that in the inductive construction (file Iteration.Nonempty), in the terms of data, we only need to provide a functor, and then all the fields are in Prop. (In the downstream API, we shall obviously use isomorphisms instead of equalities...)

This PR supersedes #19264. The results are used in #20245 in order to get functorial factorizations in the small object argument.

After refactoring my code, I found that this approach had already been used in 2018 by Reid Barton in his pioneering formalization work in Lean 3 towards the model category structure on topological spaces.


Open in Gitpod

joelriou and others added 30 commits October 23, 2024 15:50
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>
@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 26, 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 Feb 2, 2025
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) and removed blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) labels Feb 2, 2025
@joelriou joelriou removed the WIP Work in progress label Feb 3, 2025
Copy link
Copy Markdown
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 d+

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Feb 3, 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.

@ghost ghost added the delegated This pull request has been delegated to the PR author (or occasionally another non-maintainer). label Feb 3, 2025
@joelriou
Copy link
Copy Markdown
Contributor Author

joelriou commented Feb 3, 2025

Thanks!

bors merge

@ghost ghost added the ready-to-merge This PR has been sent to bors. label Feb 3, 2025
mathlib-bors bot pushed a commit that referenced this pull request Feb 3, 2025
…ns (#20256)

The ongoing definition of the iteration of a natural transformation `ε : 𝟭 C ⟶ F` (with `F : C ⥤ C`) is generalized to "successor structures" (which shall become a mathlibism), i.e. in a category `D`, this consists of a zeroth object `X₀`, a successor application `succ : D → D` and, for all `X : D`, a map `toSucc X : X → succ X` (which does not have to be natural: it is not always so in some applications). For such a `Φ : SuccStruct D`, if `J` is a well-ordered type, we define the `J`-th iteration of `Φ`. (In the case `J := ℕ`, this is the colimit of `succ (succ (succ (succ ... X₀)))`.)

The iteration of a functor is a particular case of this constructor with `D := C ⥤ C`.

As `toSucc` does not have to be natural in `X`, the caveat is that the proofs make extensive use of equalities of objects in `C` and `Arrow C`, while my previous construction used comparison isomorphisms. Nevertheless, the proofs look much more clean now. One of the reasons is that in the inductive construction (file `Iteration.Nonempty`), in the terms of data, we only need to provide a functor, and then all the fields are in `Prop`. (In the downstream API, we shall obviously use isomorphisms instead of equalities...)

This PR supersedes #19264. The results are used in #20245 in order to get functorial factorizations in the small object argument.

After refactoring my code, I found that this approach had already been used in 2018 by Reid Barton in his pioneering formalization work in Lean 3 towards the model category structure on topological spaces.



Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Feb 3, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title refactor(CategoryTheory/SmallObject): generalization of the definitions [Merged by Bors] - refactor(CategoryTheory/SmallObject): generalization of the definitions Feb 3, 2025
@mathlib-bors mathlib-bors bot closed this Feb 3, 2025
@mathlib-bors mathlib-bors bot deleted the small-object-8-bis-refactor branch February 3, 2025 20:12
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). large-import Automatically added label for PRs with a significant increase in transitive imports 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