Skip to content

feat(CategoryTheory): the category of κ-directed posets#39669

Open
joelriou wants to merge 6 commits into
leanprover-community:masterfrom
joelriou:cardinal-directed-poset0
Open

feat(CategoryTheory): the category of κ-directed posets#39669
joelriou wants to merge 6 commits into
leanprover-community:masterfrom
joelriou:cardinal-directed-poset0

Conversation

@joelriou
Copy link
Copy Markdown
Contributor

@joelriou joelriou commented May 21, 2026

Given a regular cardinal κ : Cardinal.{u}, we define the category CardinalFilteredPoset κ of κ-directed partially ordered types (with order embeddings as morphisms). In a future PR #39655, we shall show that it is a κ-accessible category.
In this PR, we also show that if J : CardinalFilteredPoset κ, the object J.withTop obtained by adding a top element is a κ'-filtered colimit of objects of cardinality < κ' (when κ' is a regular cardinal such that κ ≤ κ'). This shall be used in #39655 in order to characterize κ'-presentable objects in CardinalFilteredPoset κ as the objects that are of cardinality < κ'.


Open in Gitpod

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 21, 2026

PR summary 8702bdc64b

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference
Mathlib.CategoryTheory.Presentable.CardinalDirectedPoset (new file) 1008

Declarations diff

+ CardinalFilteredPoset
+ CardinalFilteredPoset.ι
+ coconeWithTop
+ functor
+ indexSet
+ instance (A : Type u) [SmallCategory A] [IsCardinalFiltered A κ] :
+ instance (J : CardinalFilteredPoset κ) (κ' : Cardinal.{u}) [Fact κ'.IsRegular] :
+ instance (J : CardinalFilteredPoset κ) : IsCardinalFiltered J.obj κ := J.property
+ instance (J : CardinalFilteredPoset κ) : IsFiltered J.obj
+ instance (J : CardinalFilteredPoset κ) : Nonempty J.obj := IsFiltered.nonempty
+ instance (J : Type u) [SmallCategory J] [IsCardinalFiltered J κ] :
+ instance (S : indexSet J h) : HasTerminal S
+ instance (S : indexSet J h) : IsCardinalFiltered S κ := isCardinalFiltered_of_hasTerminal _ _
+ instance : (forget PartOrdEmb.{u}).ReflectsIsomorphisms
+ instance : (isCardinalFiltered κ).IsClosedUnderIsomorphisms
+ instance : HasCardinalFilteredColimits (CardinalFilteredPoset κ) κ
+ instance : IsCardinalFiltered (indexSet J h) κ'
+ instance : IsFiltered (indexSet J h) := isFiltered_of_isCardinalFiltered _ κ'
+ instance : ReflectsColimitsOfShape J (forget PartOrdEmb.{u})
+ isCardinalFiltered
+ isCardinalFiltered_iff
+ isCardinalFiltered_pt
+ isColimitCoconeWithTop
+ of
+ orderIsoOfIso
+ pair_mem_indexSet
+ withTop

You can run this locally as follows
## from your `mathlib4` directory:
git clone https://github.com/leanprover-community/mathlib-ci.git ../mathlib-ci

## summary with just the declaration names:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
../mathlib-ci/scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh in the mathlib-ci repository contains some details about this script.


No changes to strong technical debt.
No changes to weak technical debt.

Copy link
Copy Markdown
Contributor

@dagurtomas dagurtomas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

maintainer delegate

Comment thread Mathlib/CategoryTheory/Presentable/CardinalDirectedPoset.lean Outdated
Comment thread Mathlib/CategoryTheory/Presentable/CardinalDirectedPoset.lean Outdated
that are of cardinality `< κ'` and contain `⊤`.
See `CardinalFilteredPoset.isColimitCoconeWithTop` for the fact that `withTop J`
identifies to the colimit of such `S`. -/
@[nolint unusedArguments]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a small comment explaining the nolint: isColimitCoconeWithTop wouldn't work without the unused arguments

Comment thread Mathlib/CategoryTheory/Presentable/CardinalDirectedPoset.lean Outdated
Comment on lines +165 to +172
@[simps]
def orderIsoOfIso {α β : PartOrdEmb.{u}} (e : α ≅ β) :
α ≃o β where
toFun := e.hom
invFun := e.inv
left_inv := ConcreteCategory.congr_hom e.hom_inv_id
right_inv := ConcreteCategory.congr_hom e.inv_hom_id
map_rel_iff' := Hom.le_iff_le _ _ _
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you put together Iso.mk and orderIsoOfIso into an equivalence (α ≃o β) ≃ (α ≅ β)?

@github-actions
Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by dagurtomas.

@mathlib-triage mathlib-triage Bot added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label May 21, 2026
joelriou and others added 3 commits May 21, 2026 22:50
Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com>
Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com>
Co-authored-by: Dagur Asgeirsson <dagurtomas@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. t-category-theory Category theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants