Exponential objects in precategories
Content created by Fredrik Bakke, Jonathan Prieto-Cubides, Egbert Rijke and Elisabeth Stenholm.
Created on 2022-10-05.
Last modified on 2024-04-11.
module category-theory.exponential-objects-precategories where
Imports
open import category-theory.precategories open import category-theory.products-in-precategories open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.uniqueness-quantification open import foundation.universe-levels
Idea
Let C
be a category with all binary products. For objects x
and y
in C
,
an exponential (often denoted y^x) consists of:
- an object
e
- a morphism
ev : hom (e × x) y
such that for every objectz
and morphismf : hom (z × x) y
there exists a unique morphismg : hom z e
such that (g × id x) ∘ ev = f
.
We say that C
has all exponentials if there is a choice of an exponential for
each pair of objects.
Definition
module _ {l1 l2 : Level} (C : Precategory l1 l2) (p : has-all-binary-products-Precategory C) where is-exponential-obj-Precategory : (x y e : obj-Precategory C) → hom-Precategory C (object-product-obj-Precategory C p e x) y → UU (l1 ⊔ l2) is-exponential-obj-Precategory x y e ev = (z : obj-Precategory C) (f : hom-Precategory C (object-product-obj-Precategory C p z x) y) → uniquely-exists-structure ( hom-Precategory C z e) ( λ g → comp-hom-Precategory C ev ( map-product-obj-Precategory C p g (id-hom-Precategory C)) = ( f)) exponential-obj-Precategory : obj-Precategory C → obj-Precategory C → UU (l1 ⊔ l2) exponential-obj-Precategory x y = Σ (obj-Precategory C) (λ e → Σ (hom-Precategory C (object-product-obj-Precategory C p e x) y) λ ev → is-exponential-obj-Precategory x y e ev) has-all-exponentials-Precategory : UU (l1 ⊔ l2) has-all-exponentials-Precategory = (x y : obj-Precategory C) → exponential-obj-Precategory x y module _ {l1 l2 : Level} (C : Precategory l1 l2) (p : has-all-binary-products-Precategory C) (t : has-all-exponentials-Precategory C p) (x y : obj-Precategory C) where object-exponential-obj-Precategory : obj-Precategory C object-exponential-obj-Precategory = pr1 (t x y) eval-exponential-obj-Precategory : hom-Precategory C ( object-product-obj-Precategory C p object-exponential-obj-Precategory x) ( y) eval-exponential-obj-Precategory = pr1 (pr2 (t x y)) module _ (z : obj-Precategory C) (f : hom-Precategory C (object-product-obj-Precategory C p z x) y) where morphism-into-exponential-obj-Precategory : hom-Precategory C z object-exponential-obj-Precategory morphism-into-exponential-obj-Precategory = pr1 (pr1 (pr2 (pr2 (t x y)) z f)) morphism-into-exponential-obj-Precategory-comm : ( comp-hom-Precategory C ( eval-exponential-obj-Precategory) ( map-product-obj-Precategory C p ( morphism-into-exponential-obj-Precategory) ( id-hom-Precategory C))) = ( f) morphism-into-exponential-obj-Precategory-comm = pr2 (pr1 (pr2 (pr2 (t x y)) z f)) is-unique-morphism-into-exponential-obj-Precategory : ( g : hom-Precategory C z object-exponential-obj-Precategory) → ( comp-hom-Precategory C ( eval-exponential-obj-Precategory) ( map-product-obj-Precategory C p g (id-hom-Precategory C)) = f) → morphism-into-exponential-obj-Precategory = g is-unique-morphism-into-exponential-obj-Precategory g q = ap pr1 (pr2 (pr2 (pr2 (t x y)) z f) (g , q))
Recent changes
- 2024-04-11. Fredrik Bakke and Egbert Rijke. Propositional operations (#1008).
- 2024-02-06. Fredrik Bakke. Rename
(co)prod
to(co)product
(#1017). - 2023-09-26. Fredrik Bakke and Egbert Rijke. Maps of categories, functor categories, and small subprecategories (#794).
- 2023-09-13. Fredrik Bakke and Egbert Rijke. Refactor structured monoids (#761).
- 2023-06-10. Egbert Rijke and Fredrik Bakke. Cleaning up synthetic homotopy theory (#649).