Natural transformations between functors between categories
Content created by Fredrik Bakke, Jonathan Prieto-Cubides, Egbert Rijke and Elisabeth Bonnevier
Created on 2022-03-11.
Last modified on 2023-09-18.
module category-theory.natural-transformations-categories where
Imports
open import category-theory.categories open import category-theory.functors-categories open import category-theory.natural-transformations-precategories open import foundation.embeddings open import foundation.identity-types open import foundation.propositions open import foundation.sets open import foundation.universe-levels
Idea
A natural transformation between functors on categories is a natural transformation between the functors on the underlying precategories.
Definition
module _ {l1 l2 l3 l4 : Level} (C : Category l1 l2) (D : Category l3 l4) (F G : functor-Category C D) where is-natural-transformation-Category : ( ( x : obj-Category C) → type-hom-Category D ( obj-functor-Category C D F x) ( obj-functor-Category C D G x)) → UU (l1 ⊔ l2 ⊔ l4) is-natural-transformation-Category = is-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) ( F) ( G) natural-transformation-Category : UU (l1 ⊔ l2 ⊔ l4) natural-transformation-Category = natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) ( F) ( G) components-natural-transformation-Category : natural-transformation-Category → (x : obj-Category C) → type-hom-Category D ( obj-functor-Category C D F x) ( obj-functor-Category C D G x) components-natural-transformation-Category = components-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) ( F) ( G) coherence-square-natural-transformation-Category : (γ : natural-transformation-Category) → is-natural-transformation-Category ( components-natural-transformation-Category γ) coherence-square-natural-transformation-Category = coherence-square-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) ( F) ( G)
Composition and identity of natural transformations
module _ {l1 l2 l3 l4 : Level} (C : Category l1 l2) (D : Category l3 l4) where id-natural-transformation-Category : (F : functor-Category C D) → natural-transformation-Category C D F F id-natural-transformation-Category = id-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) comp-natural-transformation-Category : (F G H : functor-Category C D) → natural-transformation-Category C D G H → natural-transformation-Category C D F G → natural-transformation-Category C D F H comp-natural-transformation-Category = comp-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D)
Properties
That a family of morphisms is a natural transformation is a proposition
This follows from the fact that the hom-types are sets.
module _ {l1 l2 l3 l4 : Level} (C : Category l1 l2) (D : Category l3 l4) (F G : functor-Category C D) where is-prop-is-natural-transformation-Category : ( γ : (x : obj-Category C) → type-hom-Category D ( obj-functor-Category C D F x) ( obj-functor-Category C D G x)) → is-prop (is-natural-transformation-Category C D F G γ) is-prop-is-natural-transformation-Category = is-prop-is-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) ( F) ( G) is-natural-transformation-Category-Prop : ( γ : (x : obj-Category C) → type-hom-Category D ( obj-functor-Category C D F x) ( obj-functor-Category C D G x)) → Prop (l1 ⊔ l2 ⊔ l4) is-natural-transformation-Category-Prop = is-natural-transformation-Precategory-Prop ( precategory-Category C) ( precategory-Category D) ( F) ( G) components-natural-transformation-Category-is-emb : is-emb (components-natural-transformation-Category C D F G) components-natural-transformation-Category-is-emb = components-natural-transformation-Precategory-is-emb ( precategory-Category C) ( precategory-Category D) ( F) ( G) natural-transformation-Category-Set : Set (l1 ⊔ l2 ⊔ l4) natural-transformation-Category-Set = natural-transformation-Precategory-Set ( precategory-Category C) ( precategory-Category D) ( F) ( G)
Category laws for natural transformations
module _ {l1 l2 l3 l4 : Level} (C : Category l1 l2) (D : Category l3 l4) where extensionality-natural-transformation-Category : (F G : functor-Category C D) (α β : natural-transformation-Category C D F G) → ( components-natural-transformation-Category C D F G α = components-natural-transformation-Category C D F G β) → α = β extensionality-natural-transformation-Category F G = extensionality-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) ( F) ( G) right-unit-law-comp-natural-transformation-Category : {F G : functor-Category C D} (α : natural-transformation-Category C D F G) → comp-natural-transformation-Category C D F F G α ( id-natural-transformation-Category C D F) = α right-unit-law-comp-natural-transformation-Category {F} {G} = right-unit-law-comp-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) { F} { G} left-unit-law-comp-natural-transformation-Category : {F G : functor-Category C D} (α : natural-transformation-Category C D F G) → comp-natural-transformation-Category C D F G G ( id-natural-transformation-Category C D G) α = α left-unit-law-comp-natural-transformation-Category {F} {G} = left-unit-law-comp-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) { F} { G} associative-comp-natural-transformation-Category : {F G H I : functor-Category C D} (α : natural-transformation-Category C D F G) (β : natural-transformation-Category C D G H) (γ : natural-transformation-Category C D H I) → comp-natural-transformation-Category C D F G I ( comp-natural-transformation-Category C D G H I γ β) α = comp-natural-transformation-Category C D F H I γ ( comp-natural-transformation-Category C D F G H β α) associative-comp-natural-transformation-Category {F} {G} {H} {I} = associative-comp-natural-transformation-Precategory ( precategory-Category C) ( precategory-Category D) { F} {G} {H} {I}
Recent changes
- 2023-09-18. Fredrik Bakke. Yoneda's lemma for categories (#783).
- 2023-05-06. Egbert Rijke. Big cleanup continued (#597).
- 2023-05-06. Egbert Rijke. Big cleanup throughout library (#594).
- 2023-05-01. Fredrik Bakke. Refactor 2, the sequel to refactor (#581).
- 2023-04-28. Fredrik Bakke. Miscellaneous refactoring and small additions (#579).