Natural transformations between functors between large precategories
module category-theory.natural-transformations-large-precategories where
Imports
open import category-theory.functors-large-precategories open import category-theory.large-precategories open import foundation.identity-types open import foundation.universe-levels
Idea
Given large precategories C
and D
, a natural transformation from a functor
F : C → D
to G : C → D
consists of :
- a family of morphisms
γ : (x : C) → hom (F x) (G x)
such that the following identity holds: (G f) ∘ (γ x) = (γ y) ∘ (F f)
, for allf : hom x y
.
Definition
square-Large-Precategory : {αC : Level → Level} {βC : Level → Level → Level} → (C : Large-Precategory αC βC) → {l1 l2 l3 l4 : Level} → {A : obj-Large-Precategory C l1} {B : obj-Large-Precategory C l2} → {X : obj-Large-Precategory C l3} {Y : obj-Large-Precategory C l4} → (top : type-hom-Large-Precategory C A B) (left : type-hom-Large-Precategory C A X) → (right : type-hom-Large-Precategory C B Y) (bottom : type-hom-Large-Precategory C X Y) → UU (βC l1 l4) square-Large-Precategory C top left right bottom = comp-hom-Large-Precategory C bottom left = comp-hom-Large-Precategory C right top module _ {αC αD γF γG : Level → Level} {βC βD : Level → Level → Level} {C : Large-Precategory αC βC} {D : Large-Precategory αD βD} (F : functor-Large-Precategory C D γF) (G : functor-Large-Precategory C D γG) where record natural-transformation-Large-Precategory : UUω where constructor make-natural-transformation field obj-natural-transformation-Large-Precategory : {l1 : Level} (X : obj-Large-Precategory C l1) → type-hom-Large-Precategory D ( obj-functor-Large-Precategory F X) ( obj-functor-Large-Precategory G X) coherence-square-natural-transformation-Large-Precategory : {l1 l2 : Level} {X : obj-Large-Precategory C l1} {Y : obj-Large-Precategory C l2} (f : type-hom-Large-Precategory C X Y) → square-Large-Precategory D ( obj-natural-transformation-Large-Precategory X) ( hom-functor-Large-Precategory F f) ( hom-functor-Large-Precategory G f) ( obj-natural-transformation-Large-Precategory Y) open natural-transformation-Large-Precategory public
Examples
The identity natural transformation
Every functor comes equipped with an identity natural transformation.
id-natural-transformation-Large-Precategory : { αC αD γF γG : Level → Level} { βC βD : Level → Level → Level} → { C : Large-Precategory αC βC} {D : Large-Precategory αD βD} → ( F : functor-Large-Precategory C D γF) → natural-transformation-Large-Precategory F F obj-natural-transformation-Large-Precategory ( id-natural-transformation-Large-Precategory {D = D} F) X = id-hom-Large-Precategory D coherence-square-natural-transformation-Large-Precategory ( id-natural-transformation-Large-Precategory {D = D} F) f = ( left-unit-law-comp-hom-Large-Precategory D ( hom-functor-Large-Precategory F f)) ∙ ( inv ( right-unit-law-comp-hom-Large-Precategory D ( hom-functor-Large-Precategory F f)))