-
Notifications
You must be signed in to change notification settings - Fork 74
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Subterminal precategories and constant functors (#941)
- Loading branch information
1 parent
6bd7c8e
commit 5c6eadf
Showing
7 changed files
with
221 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
# Constant functors | ||
|
||
```agda | ||
module category-theory.constant-functors where | ||
``` | ||
|
||
<details><summary>Imports</summary> | ||
|
||
```agda | ||
open import category-theory.categories | ||
open import category-theory.functors-categories | ||
open import category-theory.functors-large-categories | ||
open import category-theory.functors-large-precategories | ||
open import category-theory.functors-precategories | ||
open import category-theory.large-categories | ||
open import category-theory.large-precategories | ||
open import category-theory.precategories | ||
|
||
open import foundation.dependent-pair-types | ||
open import foundation.homotopies | ||
open import foundation.identity-types | ||
open import foundation.universe-levels | ||
``` | ||
|
||
</details> | ||
|
||
## Idea | ||
|
||
A **constant functor** is a [functor](category-theory.functors-categories.md) | ||
`F : C → D` that is constant at an object `d ∈ D` and the identity morphism at | ||
that object. | ||
|
||
## Definition | ||
|
||
### Constant functors between precategories | ||
|
||
```agda | ||
module _ | ||
{l1 l2 l3 l4 : Level} (C : Precategory l1 l2) (D : Precategory l3 l4) | ||
(d : obj-Precategory D) | ||
where | ||
|
||
constant-functor-Precategory : functor-Precategory C D | ||
pr1 constant-functor-Precategory _ = d | ||
pr1 (pr2 constant-functor-Precategory) _ = id-hom-Precategory D | ||
pr1 (pr2 (pr2 constant-functor-Precategory)) _ _ = | ||
inv (left-unit-law-comp-hom-Precategory D (id-hom-Precategory D)) | ||
pr2 (pr2 (pr2 constant-functor-Precategory)) = refl-htpy | ||
``` | ||
|
||
### Constant functors between categories | ||
|
||
```agda | ||
module _ | ||
{l1 l2 l3 l4 : Level} (C : Category l1 l2) (D : Category l3 l4) | ||
(d : obj-Category D) | ||
where | ||
|
||
constant-functor-Category : functor-Category C D | ||
constant-functor-Category = | ||
constant-functor-Precategory | ||
( precategory-Category C) | ||
( precategory-Category D) | ||
( d) | ||
``` | ||
|
||
### Constant functors between large precategories | ||
|
||
```agda | ||
module _ | ||
{αC αD : Level → Level} {βC βD : Level → Level → Level} | ||
(C : Large-Precategory αC βC) (D : Large-Precategory αD βD) | ||
{l : Level} (d : obj-Large-Precategory D l) | ||
where | ||
|
||
constant-functor-Large-Precategory : functor-Large-Precategory (λ _ → l) C D | ||
obj-functor-Large-Precategory constant-functor-Large-Precategory _ = d | ||
hom-functor-Large-Precategory constant-functor-Large-Precategory _ = | ||
id-hom-Large-Precategory D | ||
preserves-comp-functor-Large-Precategory constant-functor-Large-Precategory | ||
_ _ = | ||
inv | ||
( left-unit-law-comp-hom-Large-Precategory D (id-hom-Large-Precategory D)) | ||
preserves-id-functor-Large-Precategory constant-functor-Large-Precategory = | ||
refl | ||
``` | ||
|
||
### Constant functors between large categories | ||
|
||
```agda | ||
module _ | ||
{αC αD : Level → Level} {βC βD : Level → Level → Level} | ||
(C : Large-Category αC βC) (D : Large-Category αD βD) | ||
{l : Level} (d : obj-Large-Category D l) | ||
where | ||
|
||
constant-functor-Large-Category : functor-Large-Category (λ _ → l) C D | ||
constant-functor-Large-Category = | ||
constant-functor-Large-Precategory | ||
( large-precategory-Large-Category C) | ||
( large-precategory-Large-Category D) | ||
( d) | ||
``` | ||
|
||
## External links | ||
|
||
- [constant functor](https://ncatlab.org/nlab/show/constant+functor) at $n$Lab |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
# Subterminal precategories | ||
|
||
```agda | ||
module category-theory.subterminal-precategories where | ||
``` | ||
|
||
<details><summary>Imports</summary> | ||
|
||
```agda | ||
open import category-theory.composition-operations-on-binary-families-of-sets | ||
open import category-theory.fully-faithful-functors-precategories | ||
open import category-theory.isomorphisms-in-precategories | ||
open import category-theory.precategories | ||
open import category-theory.pregroupoids | ||
open import category-theory.preunivalent-categories | ||
open import category-theory.strict-categories | ||
open import category-theory.terminal-category | ||
|
||
open import foundation.action-on-identifications-functions | ||
open import foundation.contractible-types | ||
open import foundation.dependent-pair-types | ||
open import foundation.embeddings | ||
open import foundation.equivalences | ||
open import foundation.function-types | ||
open import foundation.fundamental-theorem-of-identity-types | ||
open import foundation.homotopies | ||
open import foundation.identity-types | ||
open import foundation.iterated-dependent-product-types | ||
open import foundation.propositions | ||
open import foundation.sets | ||
open import foundation.subtype-identity-principle | ||
open import foundation.unit-type | ||
open import foundation.universe-levels | ||
``` | ||
|
||
</details> | ||
|
||
## Idea | ||
|
||
A [precategory](category-theory.precategories.md) is **subterminal** if its | ||
[terminal projection functor](category-theory.terminal-category.md) is | ||
[fully faithful](category-theory.fully-faithful-functors-precategories.md). | ||
|
||
## Definitions | ||
|
||
### The predicate of being subterminal on precategories | ||
|
||
```agda | ||
module _ | ||
{l1 l2 : Level} (C : Precategory l1 l2) | ||
where | ||
|
||
is-subterminal-Precategory : UU (l1 ⊔ l2) | ||
is-subterminal-Precategory = | ||
is-fully-faithful-functor-Precategory C terminal-Precategory | ||
( terminal-functor-Precategory C) | ||
|
||
is-subterminal-prop-Precategory : Prop (l1 ⊔ l2) | ||
is-subterminal-prop-Precategory = | ||
is-fully-faithful-prop-functor-Precategory C terminal-Precategory | ||
( terminal-functor-Precategory C) | ||
|
||
is-prop-is-subterminal-Precategory : is-prop is-subterminal-Precategory | ||
is-prop-is-subterminal-Precategory = | ||
is-prop-is-fully-faithful-functor-Precategory C terminal-Precategory | ||
( terminal-functor-Precategory C) | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.