Other Agda modules in this section (24)
- ClosureCalculus.CompositionClosure
- ClosureCalculus.EmbeddingImageClosure
- ClosureCalculus.IsomorphismClosure
- GeneratedMorphisms
- IsomorphismCollections
- Lifting.CoconeLifting
- Lifting.CoproductLifting
- Lifting.EmbeddingLifting
- Lifting.EmbeddingRecognition
- Lifting.EndpointPullbacks
- Lifting.PresentationConsequences
- Lifting.TriangleLifting
- MappingCalculus.FiniteMappingLifts
- MappingCalculus.MappingAction
- MappingCalculus.MappingCommutation
- MappingCalculus.MappingPrecomposition
- MappingCalculus.MappingRestriction
- MappingCalculus.MappingSegal
- MorphismCollections
- RecoveringSubcategories
- Subcategories
- SubcategoryAxiom
- SubcategoryClosure
- SubcategoryEquivalences
Complete compiler-highlighted source. Follow a symbol to its declaration.
Corresponding book passages
# Functoriality of the subcategory construction For `cons:Functoriality_Subcategory`, a functor preserving collections induces a functor between their presentations. The comparison with the ambient functor is retained. Embedding of the target inclusion gives compatibility with identities, composition, and natural isomorphisms, as recorded in `rmk:Functoriality_Subcategory`. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) import SCT.VolumeI.Chapter01.Section04.MappingAnimae as Mapping import SCT.VolumeI.Chapter01.Section07.FunctorCategories as Categories import SCT.VolumeI.Chapter01.Section06.PullbackLaws as Pullbacks import SCT.VolumeI.Chapter02.Section01.WalkingMorphism as Walking import SCT.VolumeI.Chapter02.Section01.IntervalEndpoints as Endpoints import SCT.VolumeI.Chapter02.Section02.SegalAxiom as Segal module SCT.VolumeI.Chapter03.Section01.SubcategoryFunctoriality {c m a : Level} (π― : Theory c m a) (M : Mapping.MappingAnimae π―) (β± : Categories.FunctorCategories π― M) (P : Pullbacks.PullbackStructure π―) (I : Walking.WalkingMorphism π―) (E : Endpoints.IntervalEndpoints π― M β± P I) (S : Segal.SegalAxiom π― M β± P I E) where open import SCT.VolumeI.Chapter01.Section04.Setup π― open Mapping.MappingAnimae M open Walking.WalkingMorphism I open import SCT.VolumeI.Chapter01.Section04.Functoriality π― M using (mapPost; mapPost-comp) open import SCT.VolumeI.Chapter01.Section06.Embeddings π― P using (embedding-reflect) open import SCT.VolumeI.Chapter03.Section01.MorphismCollections π― M P I open import SCT.VolumeI.Chapter03.Section01.SubcategoryAxiom π― M β± P I E S using (SubcategoryPresentation) open import SCT.VolumeI.Chapter03.Section01.Lifting.PresentationConsequences π― M β± P I E S using (module Presented) module Induced {C D : CAT} {V : MorphismCollection C} {W : MorphismCollection D} (A : SubcategoryPresentation V) (B : SubcategoryPresentation W) (f : MAP C D) (preserves : PreservesMorphisms f V W) where i = SubcategoryPresentation.inclusion A j = FunctorLift.lift (SubcategoryPresentation.arrows A) k = FunctorLift.lift preserves arrows : FunctorLift (MorphismCollection.inclusion W) (mapPost {C = [1]} (f β i)) arrows = record { lift = k β j ; comparison = mapPost-comp i f β ((mapPost f β FunctorLift.comparison (SubcategoryPresentation.arrows A)) β (comp-assoc j (MorphismCollection.inclusion V) (mapPost f) β ((FunctorLift.comparison preserves β· j) β (comp-assoc j k (MorphismCollection.inclusion W)) β»ΒΉ))) } module Factor = Presented.Factor W B (f β i) arrows using (factor; comparison) functor : MAP (SubcategoryPresentation.subcategory A) (SubcategoryPresentation.subcategory B) functor = Factor.factor comparison : (SubcategoryPresentation.inclusion B β functor) =β (f β i) comparison = Factor.comparison induced-identity : {C : CAT} {W : MorphismCollection C} (A : SubcategoryPresentation W) β Induced.functor A A (id C) (identity-preserves W) =β id (SubcategoryPresentation.subcategory A) induced-identity {W = W} A = embedding-reflect (SubcategoryPresentation.inclusion A) (Presented.inclusion-isEmbedding W A) _ _ ((comp-unitΚ³ (SubcategoryPresentation.inclusion A)) β»ΒΉ β (comp-unitΛ‘ (SubcategoryPresentation.inclusion A) β Induced.comparison A A (id _) (identity-preserves W))) induced-composition : {C D E : CAT} {U : MorphismCollection C} {V : MorphismCollection D} {W : MorphismCollection E} (A : SubcategoryPresentation U) (B : SubcategoryPresentation V) (G : SubcategoryPresentation W) (f : MAP C D) (g : MAP D E) (F : PreservesMorphisms f U V) (H : PreservesMorphisms g V W) β (Induced.functor B G g H β Induced.functor A B f F) =β Induced.functor A G (g β f) (composition-preserves f g {U} {V} {W} F H) induced-composition {U = U} {V = V} {W = W} A B G f g F H = embedding-reflect (SubcategoryPresentation.inclusion G) (Presented.inclusion-isEmbedding W G) _ _ ((Induced.comparison A G (g β f) (composition-preserves f g {U} {V} {W} F H)) β»ΒΉ β ((comp-assoc (SubcategoryPresentation.inclusion A) f g) β»ΒΉ β ((g β Induced.comparison A B f F) β (comp-assoc (Induced.functor A B f F) (SubcategoryPresentation.inclusion B) g β ((Induced.comparison B G g H β· Induced.functor A B f F) β (comp-assoc (Induced.functor A B f F) (Induced.functor B G g H) (SubcategoryPresentation.inclusion G)) β»ΒΉ))))) induced-cong : {C D : CAT} {V : MorphismCollection C} {W : MorphismCollection D} (A : SubcategoryPresentation V) (B : SubcategoryPresentation W) {f g : MAP C D} (F : PreservesMorphisms f V W) (G : PreservesMorphisms g V W) β f =β g β Induced.functor A B f F =β Induced.functor A B g G induced-cong {W = W} A B F G Ξ± = embedding-reflect (SubcategoryPresentation.inclusion B) (Presented.inclusion-isEmbedding W B) _ _ ((Induced.comparison A B _ G) β»ΒΉ β ((Ξ± β· SubcategoryPresentation.inclusion A) β Induced.comparison A B _ F)) ```