Other Agda modules in this section (8)
Chapter 1, rebuild2, checked 14 October 2026 · source revision b982f5a.
# Changing the base of global relative functors Postcompose the universal relative family's base triangle and factor that family into the target relative functor category. Its complete family beta computes the resulting categorical functor. Native reflection supplies its triangle over the ordinary functor category with its actual image. ```agda {-# OPTIONS --without-K #-} module SCT.VolumeI.Chapter01.Section09.RelativeBaseChange where open import SCT.VolumeI.Chapter01.Section01.Vocabulary hiding (_=_) open Operations open import SCT.VolumeI.Chapter01.Section01.Terminal open Constructions open import SCT.VolumeI.Chapter01.Section03.RelativeFunctors open import SCT.VolumeI.Chapter01.Section03.ProductConstructions open import SCT.VolumeI.Chapter01.Section03.Identifications.Triangles using (post-square-cell) open import SCT.VolumeI.Chapter01.Section06.Cones open import SCT.VolumeI.Chapter01.Section07.Evaluation open import SCT.VolumeI.Chapter01.Section07.FunctorCategories open import SCT.VolumeI.Chapter01.Section07.Currying open import SCT.VolumeI.Chapter01.Section09.RelativeFunctorCategories open import SCT.VolumeI.Chapter01.Section09.RelativeFamilyComparisons module BaseChange {Γ : Context} {S T : CAT Γ} (u : MAP S T) (A B : CategoryOverBase S) where module Source = RelativeFunctorCategory A B module Native = RelativeFamilies A B module Target = RelativeFunctorCategory (postcompose-base u A) (postcompose-base u B) module Changed = RelativeFamilies (postcompose-base u A) (postcompose-base u B) private C = CategoryOverBase.category A D = CategoryOverBase.category B p = CategoryOverBase.map A q = CategoryOverBase.map B eD = funEval {C = C} {D = D} universal-family : Source.Family Source.category universal-family = functor-over (Cone.left (Native.evaluated-cone Source.fiber)) (Cone.match (Native.evaluated-cone Source.fiber)) changed-family : Target.Family Source.category changed-family = functor-over (FunctorOverBase.functor universal-family) (post-square-cell u pr₂ p q (FunctorOverBase.functor universal-family) (FunctorOverBase.cell universal-family)) private module Chosen = Target.ChosenFamily changed-family functor : MAP Source.category Target.category functor = Chosen.factor computation : ConeIdentification₁ (Changed.family-cone (Target.evaluated-family functor)) (Changed.family-cone changed-family) computation = Changed.FamilyComputation.comparison changed-family inclusion-comparison : (Target.inclusion ∘ functor) =₁ Source.inclusion inclusion-comparison = reflect eD (funUniversal C D) (Target.inclusion ∘ functor) Source.inclusion Chosen.underlying-computation inclusion-image : evaluate-cong eD inclusion-comparison =₂ Chosen.underlying-computation inclusion-image = reflect-β-One eD (funUniversal C D) (Target.inclusion ∘ functor) Source.inclusion Chosen.underlying-computation over-functors : FunctorOverBase (category-over Source.category Source.inclusion) (category-over Target.category Target.inclusion) over-functors = functor-over functor inclusion-comparison ```