Other Agda modules in this section (8)
Chapter 1, rebuild2, checked 14 October 2026 · source revision b982f5a.
# The terminal category over a base The identity category over the base is a terminal target for relative functors. Native postcomposition by its identity map is identified with the identity functor. The actual second projection of the chosen relative functor-category pullback is consequently an equivalence to `One`. No replacement of that chosen fiber or relative eta is needed. ```agda {-# OPTIONS --without-K #-} module SCT.VolumeI.Chapter01.Section09.RelativeTerminal where open import SCT.VolumeI.Chapter01.Section01.Vocabulary hiding (_=_) open import SCT.VolumeI.Chapter01.Section01.Terminal open Constructions open import SCT.VolumeI.Chapter01.Section02.Coherence using (module Composition) open Composition open import SCT.VolumeI.Chapter01.Section03.RelativeFunctors open import SCT.VolumeI.Chapter01.Section03.Equivalences using (id-isEquiv; equiv-transport) open import SCT.VolumeI.Chapter01.Section06.Cones open import SCT.VolumeI.Chapter01.Section06.PullbackConstructions using (pullback₂-isEquiv) open import SCT.VolumeI.Chapter01.Section07.FunctorCategories using (Fun) open import SCT.VolumeI.Chapter01.Section07.Functoriality using (funPost-id) open import SCT.VolumeI.Chapter01.Section09.RelativeFunctorCategories module RelativeTerminal {Γ : Context} {S : CAT Γ} (A : CategoryOverBase S) where private C : CAT Γ C = CategoryOverBase.category A terminal-base : CategoryOverBase S terminal-base = category-over S (id S) module Relative = RelativeFunctorCategory A terminal-base postcomposition-identity : Relative.postcomposition =₁ id (Fun C S) postcomposition-identity = funPost-id C S postcomposition-isEquiv : IsEquiv Relative.postcomposition postcomposition-isEquiv = equiv-transport (postcomposition-identity ⁻¹) (id-isEquiv (Fun C S)) projection : MAP Relative.category One projection = Cone.right Relative.fiber projection-isEquiv : IsEquiv projection projection-isEquiv = pullback₂-isEquiv Relative.postcomposition Relative.point postcomposition-isEquiv equivalence : Equiv Relative.category One equivalence = record { functor = projection; isEquiv = projection-isEquiv } terminal-comparison : projection =₁ terminate Relative.category terminal-comparison = terminal-identification projection (terminate Relative.category) terminality : IsContractible Relative.category terminality = equiv-transport terminal-comparison projection-isEquiv ```