Other Agda modules in this section (72)
- BaseChange.BaseChangeFamilyProjection
- BaseChange.BaseChangeNativePoints
- BaseChange.BaseChangeSubstitution
- BaseChange.BeckChevalley
- BaseChange.BeckChevalleyCones
- BaseChange.BeckChevalleyDomain
- BaseChange.BeckChevalleyEvaluation
- BaseChange.BeckChevalleyFamilies
- BaseChange.BeckChevalleyMapping
- BaseChange.BeckChevalleyUncurrying
- BaseChange.DependentProductSourceTransport
- BaseChange.DependentProductTargetTransport
- BaseChange.EvaluatedBaseChange
- BaseChange.ProductBaseChangeFamilies
- BaseChange.PullbackTargetsBaseChange
- ConstantFamilyEvaluation
- ConstantFamilyUniversalProperty
- Currying.ActedConeRestriction
- Currying.ChangedConeAction
- Currying.ConeRestrictionTriangles
- Currying.CurryingPostcomposition
- Currying.DependentUncurryingFamilies
- Currying.EvaluatedPullbackTargets
- Currying.EvaluatedRelativeExponentialLaw
- Currying.FamilyProjection
- Currying.ParameterizedConeComparison
- Currying.ParameterizedPullbackPasting
- Currying.PointParameterProjection
- Currying.PointPullbackCone
- Currying.PointRestrictionOverBase
- Currying.PointRestrictionSquare
- Currying.ProjectedRelativeEvaluation
- Currying.PullbackTargetFamilies
- Currying.RelativeCurrying
- Currying.RelativeEvaluationFamilies
- Currying.RelativeTransposition
- Currying.SourceChangeFamilies
- Currying.TargetChangeIdentifications
- Currying.UncurriedFamilyProjection
- Currying.UncurriedFamilySubstitution
- Currying.UncurriedParameterComparison
- Currying.UncurriedTriangleComposition
- DependentProductAction
- DependentProductActionLaws
- DependentProductEmbeddings
- DependentProductUniqueness
- DependentProducts
- DependentProductsBaseChange
- ExponentiabilityCriterion
- ExponentiableFunctors
- InternalFunctorCalculus.ConstantFamilyInternalFunctors
- InternalFunctorCalculus.ConstantFamilyNativeEvaluation
- InternalFunctorCalculus.ConstantFamilyReassociation
- InternalFunctorCalculus.InternalEvaluation
- InternalFunctorCalculus.InternalProductFamily
- InternalFunctorCalculus.RelativeInternalFunctors
- InternalFunctorFibers
- InternalFunctorSections
- InternalFunctors
- InternalFunctorsBaseChange
- ProductCalculus.DependentProductActionIdentifications
- ProductCalculus.FunctorCategoryUncurrying
- ProductCalculus.ProductDependentProducts
- ProductCalculus.ProductDependentUncurrying
- ProductCalculus.ProductEvaluationComposition
- ProductCalculus.ProductEvaluationFamilies
- ProductCalculus.ProductFamilyProjection
- ProductCalculus.ProductFamilyReassociation
- ProductCalculus.ProductParameterCones
- ProductCalculus.ReassociatedProductLifting
- SectionsOfDependentProducts
- TerminalExponentiability
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Functors between constant families A functor between categories with the same constant structure map is a functor over that base. Postcompose its unique triangle over `One` by the chosen base point. The identity and composition comparisons retain the resulting triangles. ```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.Chapter01.Section04.SquareCalculus.ProjectionSquares as ProjectionSquares module SCT.VolumeI.Chapter03.Section05.Currying.ConstantBaseFunctoriality {c m a : Level} (𝒯 : Theory c m a) (M : Mapping.MappingAnimae 𝒯) (ℱ : Categories.FunctorCategories 𝒯 M) (P : Pullbacks.PullbackStructure 𝒯) where open import SCT.VolumeI.Chapter01.Section05.Setup 𝒯 M open import SCT.VolumeI.Chapter03.RelativeCategories.Functors 𝒯 M ℱ P open import SCT.VolumeI.Chapter03.RelativeCategories.Identifications 𝒯 M ℱ P open import SCT.VolumeI.Chapter03.RelativeCategories.BaseChange.StructureChange 𝒯 M ℱ P using (triangle-identification) open import SCT.VolumeI.Chapter01.Section04.Substitution.IdentityParameterChange 𝒯 M using (terminal-Iso₂) open import SCT.VolumeI.Chapter03.RelativeCategories.BaseChange.BasePostcomposition 𝒯 M ℱ P import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingUnits as PU open PU vocabulary terminal products productLaws composition vertical whiskering pentagonTriangle using (right-unitor-comp) terminal-over : {C D : CAT} → MAP C D → FunctorOver (terminate C) (terminate D) terminal-over f = record { lift = f ; comparison = terminal-iso _ _ } terminal-identification : {C D : CAT} {f g : MAP C D} → f =₁ g → FunctorOverIso (terminal-over f) (terminal-over g) terminal-identification α = record { underlying = α ; compatible = terminal-Iso₂ _ _ } terminal-identity : (C : CAT) → FunctorOverIso (terminal-over (id C)) (identity-over (terminate C)) terminal-identity C = record { underlying = idIso (id C) ; compatible = terminal-Iso₂ _ _ } terminal-composite : {C D E : CAT} (f : MAP C D) (g : MAP D E) → FunctorOverIso (compose-over (terminal-over g) (terminal-over f)) (terminal-over (g ∘ f)) terminal-composite f g = record { underlying = idIso (g ∘ f) ; compatible = terminal-Iso₂ _ _ } module At {S : CAT} (e : Obj-abs S) where over : {C D : CAT} (f : MAP C D) → FunctorOver (const {P = C} e) (const {P = D} e) over f = postbase e (terminal-over f) abstract identification : {C D : CAT} {f g : MAP C D} → f =₁ g → FunctorOverIso (over f) (over g) identification α = postbase-iso e (terminal-identification α) identity : (C : CAT) → FunctorOverIso (over (id C)) (identity-over (const e)) identity C = compose-iso-over (triangle-identification (id C) _ _ ((right-unitor-comp (terminate C) e) ⁻¹)) (postbase-iso e (terminal-identity C)) composite : {C D E : CAT} (f : MAP C D) (g : MAP D E) → FunctorOverIso (compose-over (over g) (over f)) (over (g ∘ f)) composite f g = compose-iso-over (postbase-iso e (terminal-composite f g)) (postbase-composite e (terminal-over f) (terminal-over g)) ```