# Maps between categories ```agda module category-theory.maps-categories where ``` <details><summary>Imports</summary> ```agda open import category-theory.categories open import category-theory.maps-precategories open import foundation.equivalences open import foundation.homotopies open import foundation.identity-types open import foundation.torsorial-type-families open import foundation.universe-levels ``` </details> ## Idea A **map** from a [category](category-theory.categories.md) `C` to a category `D` consists of: - a map `F₀ : C → D` on objects, - a map `F₁ : hom x y → hom (F₀ x) (F₀ y)` on morphisms ## Definition ### Maps between categories ```agda module _ {l1 l2 l3 l4 : Level} (C : Category l1 l2) (D : Category l3 l4) where map-Category : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4) map-Category = map-Precategory (precategory-Category C) (precategory-Category D) obj-map-Category : (F : map-Category) → obj-Category C → obj-Category D obj-map-Category = obj-map-Precategory (precategory-Category C) (precategory-Category D) hom-map-Category : (F : map-Category) {x y : obj-Category C} → hom-Category C x y → hom-Category D ( obj-map-Category F x) ( obj-map-Category F y) hom-map-Category = hom-map-Precategory (precategory-Category C) (precategory-Category D) ``` ## Properties ### Characterization of equality of maps between categories ```agda module _ {l1 l2 l3 l4 : Level} (C : Category l1 l2) (D : Category l3 l4) where coherence-htpy-map-Category : (f g : map-Category C D) → (obj-map-Category C D f ~ obj-map-Category C D g) → UU (l1 ⊔ l2 ⊔ l4) coherence-htpy-map-Category = coherence-htpy-map-Precategory ( precategory-Category C) ( precategory-Category D) htpy-map-Category : (f g : map-Category C D) → UU (l1 ⊔ l2 ⊔ l3 ⊔ l4) htpy-map-Category = htpy-map-Precategory (precategory-Category C) (precategory-Category D) refl-htpy-map-Category : (f : map-Category C D) → htpy-map-Category f f refl-htpy-map-Category = refl-htpy-map-Precategory (precategory-Category C) (precategory-Category D) htpy-eq-map-Category : (f g : map-Category C D) → (f = g) → htpy-map-Category f g htpy-eq-map-Category = htpy-eq-map-Precategory ( precategory-Category C) ( precategory-Category D) is-torsorial-htpy-map-Category : (f : map-Category C D) → is-torsorial (htpy-map-Category f) is-torsorial-htpy-map-Category = is-torsorial-htpy-map-Precategory ( precategory-Category C) ( precategory-Category D) is-equiv-htpy-eq-map-Category : (f g : map-Category C D) → is-equiv (htpy-eq-map-Category f g) is-equiv-htpy-eq-map-Category = is-equiv-htpy-eq-map-Precategory ( precategory-Category C) ( precategory-Category D) equiv-htpy-eq-map-Category : (f g : map-Category C D) → (f = g) ≃ htpy-map-Category f g equiv-htpy-eq-map-Category = equiv-htpy-eq-map-Precategory ( precategory-Category C) ( precategory-Category D) eq-htpy-map-Category : (f g : map-Category C D) → htpy-map-Category f g → (f = g) eq-htpy-map-Category = eq-htpy-map-Precategory (precategory-Category C) (precategory-Category D) ``` ## See also - [Functors between categories](category-theory.functors-categories.md) - [The category of maps and natural transformations between categories](category-theory.category-of-maps-categories.md)