Other Agda modules in this chapter (87)
- RelativeCategories.BaseChange.BaseChange
- RelativeCategories.BaseChange.BaseChangeComparisonFamilies
- RelativeCategories.BaseChange.BaseChangeHigherIdentifications
- RelativeCategories.BaseChange.BasePostcomposition
- RelativeCategories.BaseChange.Identifications
- RelativeCategories.BaseChange.NativeProductBaseChange
- RelativeCategories.BaseChange.PulledFamilies
- RelativeCategories.BaseChange.SourceChange
- RelativeCategories.BaseChange.StructureChange
- RelativeCategories.Composition.EvaluatedPrecomposition
- RelativeCategories.Composition.Postcomposition
- RelativeCategories.Composition.PostcompositionEquivalences
- RelativeCategories.Composition.PostcompositionLaws
- RelativeCategories.Composition.PostcompositionReflection
- RelativeCategories.Composition.PrecompositionCompatibility
- RelativeCategories.ConeCalculus.ConeAction
- RelativeCategories.ConeCalculus.ConePasting
- RelativeCategories.ConeCalculus.ConeUncurrying
- RelativeCategories.ConeCalculus.EvaluatedRelativeCones
- RelativeCategories.ConeCalculus.NativePullbackTargets
- RelativeCategories.ConeCalculus.ProductTriangleCones
- RelativeCategories.ConeCalculus.PullbackRelativeComparisons
- RelativeCategories.ConeCalculus.PullbackTargets
- RelativeCategories.ConeCalculus.PullbackTriangles
- RelativeCategories.ConeCalculus.RelativeIntervalCones
- RelativeCategories.ConeCalculus.RestrictedConeLifts
- RelativeCategories.CoproductCalculus.CoproductDescent
- RelativeCategories.CoproductCalculus.CoproductFamilies
- RelativeCategories.CoproductCalculus.CoproductMapping
- RelativeCategories.Coproducts
- RelativeCategories.DecodedMorphisms
- RelativeCategories.DiagramMorphisms
- RelativeCategories.Equivalences
- RelativeCategories.Evaluation.BaseIdentityTriangles
- RelativeCategories.Evaluation.Evaluation
- RelativeCategories.Evaluation.EvaluationRestriction
- RelativeCategories.Evaluation.EvaluationUnitCoherence
- RelativeCategories.Evaluation.PointComputations
- RelativeCategories.Evaluation.PointReductionCoherence
- RelativeCategories.Evaluation.ProductDependentEvaluation
- RelativeCategories.Evaluation.ProductUncurryingTriangles
- RelativeCategories.Evaluation.RestrictionEquivalences
- RelativeCategories.Evaluation.TriangleTransport
- RelativeCategories.Evaluation.UncurriedBaseTriangles
- RelativeCategories.Evaluation.UncurriedTriangles
- RelativeCategories.Evaluation.Uncurrying
- RelativeCategories.Evaluation.UncurryingComposition
- RelativeCategories.Evaluation.UncurryingRestriction
- RelativeCategories.Evaluation.UncurryingSubstitution
- RelativeCategories.Families.ArgumentFamilies
- RelativeCategories.Families.DecodedFamilies
- RelativeCategories.Families.Families
- RelativeCategories.Families.FamilyReflection
- RelativeCategories.Families.IdentificationFamilies
- RelativeCategories.Families.IntervalParameters
- RelativeCategories.Families.NativePointFamilies
- RelativeCategories.Functors
- RelativeCategories.IdentificationCalculus.ComparisonAlgebra
- RelativeCategories.IdentificationCalculus.ComparisonEncoding
- RelativeCategories.IdentificationCalculus.ComparisonLifting
- RelativeCategories.IdentificationCalculus.ComparisonRestriction
- RelativeCategories.IdentificationCalculus.ConstantNameChange
- RelativeCategories.IdentificationCalculus.ConstantNameNaturality
- RelativeCategories.IdentificationCalculus.ConstantNameRestriction
- RelativeCategories.IdentificationCalculus.ConstantNameUnit
- RelativeCategories.IdentificationCalculus.EquivalenceReflectionComputation
- RelativeCategories.IdentificationCalculus.FixedBoundaryComparisons
- RelativeCategories.IdentificationCalculus.HigherEncoding
- RelativeCategories.IdentificationCalculus.NamedPointEvaluation
- RelativeCategories.IdentificationCalculus.NamingCoherence
- RelativeCategories.IdentificationCalculus.NamingComparisons
- RelativeCategories.IdentificationCalculus.NamingIdentifications
- RelativeCategories.IdentificationCalculus.NamingLaws
- RelativeCategories.IdentificationCalculus.PostNamingCoherence
- RelativeCategories.Identifications
- RelativeCategories.MorphismDiagramRecovery
- RelativeCategories.MorphismDiagrams
- RelativeCategories.MorphismPostcomposition
- RelativeCategories.MorphismRetargeting
- RelativeCategories.MorphismTriangles
- RelativeCategories.MorphismWhiskering
- RelativeCategories.Morphisms
- RelativeCategories.NamedMorphisms
- RelativeCategories.Products
- RelativeCategories.PullbackMorphismLifting
- RelativeCategories.PullbackMorphisms
- RelativeCategories.TerminalBase
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Absolute points of relative families Evaluation at an absolute point retains the triangle over the base. The comparison uses the defining pullback of the relative functor category, so it requires neither arrow detection nor functoriality of universals. ```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 module SCT.VolumeI.Chapter03.RelativeCategories.Families.AbsolutePointFamilies {c m a : Level} (π― : Theory c m a) (M : Mapping.MappingAnimae π―) (β± : Categories.FunctorCategories π― M) (P : Pullbacks.PullbackStructure π―) where open import SCT.VolumeI.Chapter01.Section07.Setup π― M β± open Pullbacks.PullbackStructure P open import SCT.VolumeI.Chapter01.Section07.AbsoluteObjects π― M β± using (nameFun) open import SCT.VolumeI.Chapter01.Section06.Cones π― open import SCT.VolumeI.Chapter01.Section06.ConeCalculus.ConeAction π― using (cone-action) open import SCT.VolumeI.Chapter01.Section06.ConeCalculus.ConeRestriction π― using (coneIso-compose; coneIso-inverse) open import SCT.VolumeI.Chapter03.RelativeCategories.Functors π― M β± P open import SCT.VolumeI.Chapter03.RelativeCategories.Identifications π― M β± P open import SCT.VolumeI.Chapter03.RelativeCategories.ConeCalculus.EvaluatedRelativeCones π― M β± P open import SCT.VolumeI.Chapter03.RelativeCategories.IdentificationCalculus.NamedPointEvaluation π― M β± P using (module Named) open import SCT.VolumeI.Chapter03.RelativeCategories.IdentificationCalculus.NamingComparisons π― M β± P using (module Triangles) open import SCT.VolumeI.Chapter03.RelativeCategories.Families.NativePointFamilies π― M β± P using (point-parameter) open import SCT.VolumeI.Chapter03.RelativeCategories.Families.Families π― M β± P using (family; family-composite; curried-beta) open import SCT.VolumeI.Chapter03.RelativeCategories.Evaluation.Evaluation π― M β± P using (module Curry) abstract identify-objects : {C D B : CAT} (p : MAP C B) (q : MAP D B) {u v : FunctorOver p q} β FunctorOverIso u v β Over.Name.object p q u =β Over.Name.object p q v identify-objects p q {u} {v} ΞΎ = Over.reflect p q _ _ (coneIso-compose (coneIso-inverse (Over.Name.comparison p q v)) (coneIso-compose (Triangles.Identification.cone p q u v ΞΎ) (Over.Name.comparison p q u))) decoded-point : {C D B : CAT} (p : MAP C B) (q : MAP D B) (x : Obj-abs (FunOver p q)) β FunctorOverIso (Over.Decode.triangle p q x) (PointTriangle (conePre x (pullbackCone (funPost q) (nameFun p)))) decoded-point p q x = compose-iso-over (point-comparison (Over.Decode.cone-comparison p q x)) (inverse-iso-over (Named.comparison p q (Over.Decode.triangle p q x))) decoded-name : {C D B : CAT} (p : MAP C B) (q : MAP D B) (u : FunctorOver p q) β FunctorOverIso (Over.Decode.triangle p q (Over.Name.object p q u)) u decoded-name p q u = compose-iso-over (Named.comparison p q u) (compose-iso-over (point-comparison (Over.Name.comparison p q u)) (decoded-point p q (Over.Name.object p q u))) decode-identification : {C D B : CAT} (p : MAP C B) (q : MAP D B) {x y : Obj-abs (FunOver p q)} β x =β y β FunctorOverIso (Over.Decode.triangle p q x) (Over.Decode.triangle p q y) decode-identification p q {x} {y} Ξ΄ = compose-iso-over (inverse-iso-over (decoded-point p q y)) (compose-iso-over (point-comparison (cone-action (pullbackCone (funPost q) (nameFun p)) Ξ΄)) (decoded-point p q x)) module Family {X C D B : CAT} (p : MAP C B) (q : MAP D B) (F : MAP X (FunOver p q)) (x : Obj-abs X) where parameter = point-parameter p x abstract comparison : FunctorOverIso (Over.Decode.triangle p q (F β x)) (compose-over (family p q F) parameter) comparison = compose-iso-over (associator-over (terminal-insertion p) (parameter-over-functor p x) (family p q F)) (compose-iso-over (prewhisker-over (terminal-insertion p) (family-composite p q x F)) (decoded-point p q (F β x))) module CurriedFamily {X C D B : CAT} (p : MAP C B) (q : MAP D B) (v : FunctorOver (p β prβ {C = X}) q) (x : Obj-abs X) where module Curried = Curry p q (FunctorLift.lift v) (FunctorLift.comparison v) module Evaluated = Family p q Curried.functor x abstract comparison : FunctorOverIso (Over.Decode.triangle p q (Curried.functor β x)) (compose-over v Evaluated.parameter) comparison = compose-iso-over (prewhisker-over Evaluated.parameter (curried-beta p q v)) Evaluated.comparison object-comparison : (Curried.functor β x) =β Over.Name.object p q (compose-over v Evaluated.parameter) object-comparison = identify-objects p q comparison β (Over.Decode.object-roundtrip p q (Curried.functor β x)) β»ΒΉ ```