Skip to content

Dualize limits, right Kan extensions, and monads #1442

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

Merged
merged 23 commits into from
Jun 21, 2025
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
8f72539
Dualize cones, limits, right (kan) extensions
ben-connors May 29, 2025
7ab6863
Explicitly dualize monads
ben-connors Jun 9, 2025
6de27ff
Dualize limits and right Kan extensions
ben-connors Jun 9, 2025
0832745
Suggested fixes
ben-connors Jun 9, 2025
897c6a4
Apply suggestions
ben-connors Jun 10, 2025
b6a4dc0
Remove set-indexed coproducts
ben-connors Jun 10, 2025
f3c2629
Dualize pullbacks; fix some links
ben-connors Jun 10, 2025
f118b61
Pre-commit after adding the files
ben-connors Jun 10, 2025
24def73
Fix missed dualization in copointed description
ben-connors Jun 10, 2025
9f97fc6
Change lingering `into` to `from` in pushouts
ben-connors Jun 10, 2025
91ff232
Typos; rename `is-(co)limiting` to `is-(co)limit`
ben-connors Jun 10, 2025
c0cff07
Apply suggestions from code review
ben-connors Jun 17, 2025
d75fd9d
Merge remote-tracking branch 'upstream/master' into dualpr
ben-connors Jun 17, 2025
fbb8194
Dualize codensity monads
ben-connors Jun 17, 2025
3213694
Typos
ben-connors Jun 17, 2025
3dcb0fd
Link typos
ben-connors Jun 17, 2025
29fbcb2
Remove pullbacks and pushouts
ben-connors Jun 18, 2025
28cfe79
Typo; rename coherence of (co)monad (co)algebras
ben-connors Jun 18, 2025
1f7350d
Apply suggestions from code review
ben-connors Jun 20, 2025
5a99ffc
Add "See also"
ben-connors Jun 20, 2025
b5dc5ba
Fixes from code review
ben-connors Jun 21, 2025
425e4b1
Apply suggestions from code review
ben-connors Jun 21, 2025
a0ea938
Merge branch 'master' into dualpr
fredrik-bakke Jun 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions src/category-theory.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,21 @@ open import category-theory.category-of-functors public
open import category-theory.category-of-functors-from-small-to-large-categories public
open import category-theory.category-of-maps-categories public
open import category-theory.category-of-maps-from-small-to-large-categories public
open import category-theory.coalgebras-comonads-on-precategories public
open import category-theory.cocones-precategories public
open import category-theory.colimits-precategories public
open import category-theory.commuting-squares-of-morphisms-in-large-precategories public
open import category-theory.commuting-squares-of-morphisms-in-precategories public
open import category-theory.commuting-squares-of-morphisms-in-set-magmoids public
open import category-theory.commuting-triangles-of-morphisms-in-precategories public
open import category-theory.commuting-triangles-of-morphisms-in-set-magmoids public
open import category-theory.comonads-on-precategories public
open import category-theory.complete-precategories public
open import category-theory.composition-operations-on-binary-families-of-sets public
open import category-theory.cones-precategories public
open import category-theory.conservative-functors-precategories public
open import category-theory.constant-functors public
open import category-theory.copointed-endofunctors-precategories public
open import category-theory.copresheaf-categories public
open import category-theory.coproducts-in-precategories public
open import category-theory.cores-categories public
Expand Down Expand Up @@ -101,6 +106,8 @@ open import category-theory.large-function-precategories public
open import category-theory.large-precategories public
open import category-theory.large-subcategories public
open import category-theory.large-subprecategories public
open import category-theory.left-extensions-precategories public
open import category-theory.left-kan-extensions-precategories public
open import category-theory.limits-precategories public
open import category-theory.maps-categories public
open import category-theory.maps-from-small-to-large-categories public
Expand All @@ -111,6 +118,7 @@ open import category-theory.monads-on-categories public
open import category-theory.monads-on-precategories public
open import category-theory.monomorphisms-in-large-precategories public
open import category-theory.morphisms-algebras-monads-on-precategories public
open import category-theory.morphisms-coalgebras-comonads-on-precategories public
open import category-theory.natural-isomorphisms-functors-categories public
open import category-theory.natural-isomorphisms-functors-large-precategories public
open import category-theory.natural-isomorphisms-functors-precategories public
Expand All @@ -137,6 +145,7 @@ open import category-theory.pointed-endofunctors-categories public
open import category-theory.pointed-endofunctors-precategories public
open import category-theory.precategories public
open import category-theory.precategory-of-algebras-monads-on-precategories public
open import category-theory.precategory-of-coalgebras-comonads-on-precategories public
open import category-theory.precategory-of-elements-of-a-presheaf public
open import category-theory.precategory-of-free-algebras-monads-on-precategories public
open import category-theory.precategory-of-functors public
Expand Down
101 changes: 101 additions & 0 deletions src/category-theory/coalgebras-comonads-on-precategories.lagda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Coalgebras over comonads on precategories

```agda
module category-theory.coalgebras-comonads-on-precategories where
```

<details><summary>Imports</summary>

```agda
open import category-theory.commuting-squares-of-morphisms-in-precategories
open import category-theory.comonads-on-precategories
open import category-theory.functors-precategories
open import category-theory.natural-transformations-functors-precategories
open import category-theory.natural-transformations-maps-precategories
open import category-theory.precategories

open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.sets
open import foundation.universe-levels

open import foundation-core.cartesian-product-types
```

</details>

## Idea

A
{{#concept "coalgebra" Disambiguation="over a comonad on a precategory" Agda=coalgebra-comonad-Precategory}}
over a [comonad](category-theory.comonads-on-precategories.md) `T` consists of
an object `A` and morphism `a : A → TA` satisfying two compatibility laws:

- **Counit law**: `ε_A ∘ a = id_A`
- **Comultiplication law**: `Ta ∘ a = δ ∘ a`

## Definitions

```agda
module _
{l1 l2 : Level} (C : Precategory l1 l2)
(T : comonad-Precategory C)
where

module _
{A : obj-Precategory C}
(a : hom-Precategory C A (obj-endofunctor-comonad-Precategory C T A))
where

has-counit-law-coalgebra-comonad-Precategory : UU l2
has-counit-law-coalgebra-comonad-Precategory =
comp-hom-Precategory C (hom-counit-comonad-Precategory C T A) a =
id-hom-Precategory C

has-comul-law-coalgebra-comonad-Precategory : UU l2
has-comul-law-coalgebra-comonad-Precategory =
comp-hom-Precategory C (hom-endofunctor-comonad-Precategory C T a) a =
comp-hom-Precategory C (hom-comul-comonad-Precategory C T A) a

is-coalgebra-comonad-Precategory : UU l2
is-coalgebra-comonad-Precategory =
has-counit-law-coalgebra-comonad-Precategory ×
has-comul-law-coalgebra-comonad-Precategory

coalgebra-comonad-Precategory : UU (l1 ⊔ l2)
coalgebra-comonad-Precategory =
Σ ( obj-Precategory C)
( λ A →
Σ ( hom-Precategory C A (obj-endofunctor-comonad-Precategory C T A))
( λ a → is-coalgebra-comonad-Precategory a))

obj-coalgebra-comonad-Precategory :
coalgebra-comonad-Precategory → obj-Precategory C
obj-coalgebra-comonad-Precategory = pr1

hom-coalgebra-comonad-Precategory :
(f : coalgebra-comonad-Precategory) →
hom-Precategory C
( obj-coalgebra-comonad-Precategory f)
( obj-endofunctor-comonad-Precategory C T
( obj-coalgebra-comonad-Precategory f))
hom-coalgebra-comonad-Precategory f = pr1 (pr2 f)

comm-coalgebra-comonad-Precategory :
(f : coalgebra-comonad-Precategory) →
is-coalgebra-comonad-Precategory (hom-coalgebra-comonad-Precategory f)
comm-coalgebra-comonad-Precategory f = pr2 (pr2 f)

counit-law-coalgebra-comonad-Precategory :
(f : coalgebra-comonad-Precategory) →
has-counit-law-coalgebra-comonad-Precategory
( hom-coalgebra-comonad-Precategory f)
counit-law-coalgebra-comonad-Precategory f = pr1 (pr2 (pr2 f))

comul-law-coalgebra-comonad-Precategory :
(f : coalgebra-comonad-Precategory) →
has-comul-law-coalgebra-comonad-Precategory
( hom-coalgebra-comonad-Precategory f)
comul-law-coalgebra-comonad-Precategory f = pr2 (pr2 (pr2 f))
```
Loading
Loading