Terminal object of a precategory

Content created by Egbert Rijke and Fredrik Bakke

Created on 2023-09-13.
Last modified on 2023-09-13.

module category-theory.terminal-objects-in-precategories where
Imports
open import category-theory.precategories

open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.universe-levels

open import foundation-core.identity-types

Idea

The terminal object of a precategory (if it exists) is an object with the universal property that there is a unique morphism into it from any object.

Definition

terminal-object-Precategory :
  {l1 l2 : Level} (C : Precategory l1 l2)  UU (l1  l2)
terminal-object-Precategory C =
  Σ (obj-Precategory C) λ t 
    (x : obj-Precategory C)  is-contr (type-hom-Precategory C x t)

module _
  {l1 l2 : Level} (C : Precategory l1 l2)
  (t : terminal-object-Precategory C)
  where

  object-terminal-object-Precategory : obj-Precategory C
  object-terminal-object-Precategory = pr1 t

  morphism-terminal-object-Precategory :
    (x : obj-Precategory C) 
    type-hom-Precategory C x object-terminal-object-Precategory
  morphism-terminal-object-Precategory x = pr1 (pr2 t x)

  is-unique-morphism-terminal-object-Precategory :
    (x : obj-Precategory C) 
    (f : type-hom-Precategory C x object-terminal-object-Precategory) 
    morphism-terminal-object-Precategory x  f
  is-unique-morphism-terminal-object-Precategory x = pr2 (pr2 t x)

Recent changes