{-# OPTIONS --without-K --safe #-} open import Categories.Bicategory using (Bicategory) module Categories.Bicategory.Object.Terminal {o ℓ e t} (𝒞 : Bicategory o ℓ e t) where open Bicategory 𝒞 open import Level open import Categories.Category using (_[_,_]) open import Categories.Morphism.HeterogeneousEquality using (Along_,_[_≈_]) open import Categories.Morphism.Notation using (_[_≅_]) open import Categories.Morphism using (_≅_) record IsTerminal (⊤ : Obj) : Set (o ⊔ ℓ ⊔ e ⊔ t) where field !₁ : {A : Obj} → (A ⇒₁ ⊤) !₂ : {A : Obj} → !₁ {A} ⇒₂ !₁ η₁ : ∀ {A} f → hom A ⊤ [ f ≅ !₁ ] η₂ : ∀ {A}{f g}(α : hom A ⊤ [ f , g ]) → Along η₁ _ , η₁ _ [ α ≈ !₂ ]