Other Agda modules in this section (27)
- CoconeCalculus.CoconeBridgeReversal
- CoconeCalculus.CoconeCoreExtensions
- CoconeCalculus.CoconeCoreLifting
- CoconeCalculus.CoconePostAssociativity
- CoconeCalculus.CoconeRestrictionLifting
- CoconeCalculus.CoconeRestrictionPostcomposition
- CoconeCalculus.CoconeRestrictionUniversality
- CoconeCalculus.CoconeSpanRestriction
- CoconeCalculus.CoconeSquareRestriction
- CoconeCalculus.DiagramInterchange
- CoconeCalculus.RealizationCoconeComparison
- EmptyCore
- EmptySubcategory
- FundamentalGroupoids
- GeometricRealization
- GeometricRealizationCriteria
- GroupoidCriterion
- IsomorphismSubcategoryCore
- ObjectwiseNaturalIsomorphisms
- RealizationGroupoidCriterion
- RealizationOfGroupoids
- RealizationOfInterval
- RealizationPushouts
- RecognitionCalculus.GroupoidRealizationInterval
- RecognitionCalculus.InvertingFromGroupoids
- RecognitionCalculus.InvertingInterval
- RecognitionCalculus.RealizationComparisons
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Constant arrows form a full subcategory This is `(2) β (3)` in `prop:Equivalent_Conditions_Geometric_Realization`. If the realization of `[1]` is contractible, its localization universal property identifies the full subcategory of inverting functors with the target category. The comparison with the ambient arrow category is the constant-arrow functor itself. ```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 import SCT.VolumeI.Chapter02.Section01.CommutativeSquareAxiom as Squares import SCT.VolumeI.Chapter02.Section03.RezkAxiom as Rezk module SCT.VolumeI.Chapter03.Section04.RecognitionCalculus.ConstantFullSubcategory {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) (Q : Squares.CommutativeSquareAxiom π― M β± P I E) (R : Rezk.RezkAxiom π― M β± P I E) where open import SCT.VolumeI.Chapter01.Section05.Setup π― M open Walking.WalkingMorphism I open import SCT.VolumeI.Chapter01.Section07.Currying π― M β± open import SCT.VolumeI.Chapter01.Section07.Functoriality π― M β± using (funPre; funPre-comp; funPre-cong; funPre-isEquiv; funPre-uncurry) open import SCT.VolumeI.Chapter01.Section07.TerminalDomain π― M β± using (module TerminalContext) open import SCT.VolumeI.Chapter02.Section01.EvaluationCalculus.EndpointEvaluation π― M β± using (constantDiagram) open import SCT.VolumeI.Chapter02.Section01.Morphisms π― M β± I using (identityArrow) open import SCT.VolumeI.Chapter03.Section01.MorphismCollections π― M P I using (allMorphisms) open import SCT.VolumeI.Chapter03.Section01.SubcategoryAxiom π― M β± P I E S using (SubcategoryAxiom) open import SCT.VolumeI.Chapter03.Section02.FullSubcategories π― M P using (IsFullSubcategory) open import SCT.VolumeI.Chapter03.Section02.Factorization.FullSubcategoryEquivalences π― M P using (full-subcategory-precompose-equivalence) open import SCT.VolumeI.Chapter03.Section03.Localizations π― M β± P I E S Q R using (module WithSubcategories) open import SCT.VolumeI.Chapter03.Section03.MappingCalculus.LocalizationFullSubcategory π― M β± P I E S Q R using (localization-restriction-isFullSubcategory) constant-restrict : {A B D : CAT} (f : MAP A B) β (funPre f β constantDiagram B D) =β constantDiagram A D constant-restrict f = funReflect _ _ ((funCurry-Ξ² prβ) β»ΒΉ β (comp-unitΛ‘ prβ β (pair-Ξ²β (id _ β prβ) (f β prβ) β ((funCurry-Ξ² prβ β· productMap (id _) f) β funPre-uncurry f (constantDiagram _ _))))) module FromContractible (L : SubcategoryAxiom) (T : CAT) (l : MAP [1] T) (localization : WithSubcategories.IsLocalization L (allMorphisms [1]) l) (contractible : IsContractible T) where module At (D : CAT) where point = TerminalContext.forward D termination = funPre {D = D} (terminate T) comparison : MAP D (Fun T D) comparison = termination β point comparison-isEquiv : IsEquiv comparison comparison-isEquiv = equiv-compose point termination (TerminalContext.forward-isEquiv D) (funPre-isEquiv (terminate T) contractible) over-arrows : (funPre l β comparison) =β identityArrow over-arrows = constant-restrict {D = D} (terminate [1]) β ((funPre-cong {D = D} (terminal-iso (terminate T β l) (terminate [1])) β· point) β ((funPre-comp l (terminate T) β· point) β (comp-assoc point termination (funPre l)) β»ΒΉ)) identityArrow-isFullSubcategory : IsFullSubcategory (identityArrow {D}) identityArrow-isFullSubcategory = full-subcategory-precompose-equivalence {A = D} {B = Fun T D} {C = Fun [1] D} identityArrow (funPre l) comparison comparison-isEquiv over-arrows (localization-restriction-isFullSubcategory L (allMorphisms [1]) l localization D) ```