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

refactor(CategoryTheory/SmallObject): generalization of the definitions #20256

Open
wants to merge 83 commits into
base: master
Choose a base branch
from

Conversation

joelriou
Copy link
Collaborator

@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 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 been 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>
@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 Jan 24, 2025
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) label Jan 24, 2025
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR to Mathlib (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 to Mathlib (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 to Mathlib (this label is automatically managed by a bot) and removed blocked-by-other-PR This PR depends on another PR to Mathlib (this label is automatically managed by a bot) labels Feb 2, 2025
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 t-category-theory Category theory WIP Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants