module Cat.Instances.Shape.Initial where

The initial category is the category with no objects.

⊥Cat : Precategory lzero lzero
⊥Cat .Ob = ⊥
⊥Cat .Hom _ _ = ⊥

This category is notable for the existence of a unique functor from it to any other category.

module _ {o h} {A : Precategory o h} where
  private module A = Precategory A
  open Functor


  ¡F : Functor ⊥Cat A
  ¡F .F₀ ()

  ¡F-unique : ∀ (F G : Functor ⊥Cat A) → F ≡ G
  ¡F-unique F G i .F₀ ()

  ¡nt : ∀ {F G : Functor ⊥Cat A} → F => G
  ¡nt ._=>_.η ()
  ¡nt ._=>_.is-natural ()