{-# OPTIONS --safe #-}
module Cubical.Categories.Constructions.Endo where
open import Cubical.Foundations.Prelude
open import Cubical.Foundations.Equiv hiding (fiber)
open import Cubical.Foundations.HLevels
open import Cubical.Data.Sigma
open import Cubical.Data.Unit
open import Cubical.Categories.Category.Base
open import Cubical.Categories.Functor
private
variable
ℓC ℓC' ℓCᴰ ℓCᴰ' ℓD ℓD' ℓDᴰ ℓDᴰ' : Level
open Category
open Functor
module _ (C : Category ℓC ℓC') (x : C .ob) where
Endo : Category ℓ-zero ℓC'
Endo .ob = Unit
Endo .Hom[_,_] _ _ = C [ x , x ]
Endo .id = C .id
Endo ._⋆_ = C ._⋆_
Endo .⋆IdL = ⋆IdL C
Endo .⋆IdR = ⋆IdR C
Endo .⋆Assoc = ⋆Assoc C
Endo .isSetHom = isSetHom C
π : Functor Endo C
π .F-ob = λ _ → x
π .F-hom = λ z → z
π .F-id = refl
π .F-seq _ _ = refl