Other Agda modules in this section (188)
- Associativity
- Composition
- EvaluationCalculus.CompositionShortEdges
- EvaluationCalculus.DoubleEvaluationCoordinates
- EvaluationCalculus.Endpoints.CompositionEndpointComparison
- EvaluationCalculus.Endpoints.DoubleEvaluationCorners
- EvaluationCalculus.Endpoints.EndpointBoundaryComposition
- EvaluationCalculus.Endpoints.EndpointConeRoutes
- EvaluationCalculus.Endpoints.EndpointCornerComparison
- EvaluationCalculus.Endpoints.EndpointCornerFamilies
- EvaluationCalculus.Endpoints.EndpointFrameCones
- EvaluationCalculus.Endpoints.EndpointInputNaturality
- EvaluationCalculus.Endpoints.FramedCornerPasting
- EvaluationCalculus.Endpoints.InsertedShapeCorners
- EvaluationCalculus.Endpoints.RectangularCornerNormalization
- EvaluationCalculus.Endpoints.TransposedCornerComparisons
- EvaluationCalculus.Endpoints.TransposedEndpointFrames
- EvaluationCalculus.EquivalenceUnit
- EvaluationCalculus.EvaluationComposition
- EvaluationCalculus.EvaluationIsomorphisms
- EvaluationCalculus.PairedProjectionComposition
- EvaluationCalculus.Postcomposition.CurryPostcomposition
- EvaluationCalculus.Postcomposition.PostcompositionCorners
- EvaluationCalculus.Postcomposition.PostcompositionDiagramFrames
- EvaluationCalculus.Postcomposition.PostcompositionEndpointCones
- EvaluationCalculus.Postcomposition.PostcompositionObjectEvaluation
- EvaluationCalculus.Postcomposition.PostcompositionParameterEvaluation
- EvaluationCalculus.Restriction.ConstantRestrictionCoordinates
- EvaluationCalculus.Restriction.ConstantRestrictionEvaluation
- EvaluationCalculus.Restriction.CornerRestrictionEvaluation
- EvaluationCalculus.Restriction.CurryRestrictionCorner
- EvaluationCalculus.Restriction.EndpointRestrictionCones
- EvaluationCalculus.Restriction.FramedConeRestriction
- EvaluationCalculus.Restriction.FramedRestrictionCorners
- EvaluationCalculus.Restriction.IdentityRestrictionEvaluation
- EvaluationCalculus.Restriction.InsertionEvaluation
- EvaluationCalculus.Restriction.InsertionParameterComposition
- EvaluationCalculus.Restriction.InsertionProjectionWitnesses
- EvaluationCalculus.Restriction.InsertionRestrictionCompatibility
- EvaluationCalculus.Restriction.InsertionRestrictionEvaluation
- EvaluationCalculus.Restriction.PostcompositionRestrictionEvaluation
- EvaluationCalculus.Restriction.RestrictionBoundaryCorners
- EvaluationCalculus.Restriction.RestrictionCompositorEvaluation
- EvaluationCalculus.Restriction.RestrictionCornerTransport
- EvaluationCalculus.Restriction.RestrictionEdgeEndpoints
- EvaluationCalculus.Restriction.RestrictionEndpointComposition
- EvaluationCalculus.Restriction.RestrictionEvaluation
- EvaluationCalculus.Restriction.RestrictionIdentificationComposition
- EvaluationCalculus.Restriction.RestrictionInsertionCompositionEvaluation
- EvaluationCalculus.Restriction.RestrictionInsertions
- EvaluationCalculus.Restriction.RestrictionParameterEvaluation
- EvaluationCalculus.UniversalArrowEvaluation
- EvaluationCalculus.UniversalArrowSubstitution
- EvaluationCalculus.WhiskeringComparisonTransfer
- Everything
- ExpressionAssociativity
- ExpressionUnitLaws
- GlobalCompositionLaws
- Interchange
- InternalComposition
- MorphismCalculus.CompositePresentations
- MorphismCalculus.CompositionExpressions
- MorphismCalculus.CompositionIdentifications
- MorphismCalculus.CompositionSubstitution
- MorphismCalculus.CompositionWithIdentifications
- MorphismCalculus.ConstantFunctorExpressions
- MorphismCalculus.ConstantSourceNaturality
- MorphismCalculus.ConstantSourceRestriction
- MorphismCalculus.CurriedDiagramComparisons
- MorphismCalculus.CurriedRestrictionFrames
- MorphismCalculus.CurryingEndpointImages
- MorphismCalculus.CurryingExpressionComparisons
- MorphismCalculus.CurryingExpressions
- MorphismCalculus.CurryingInsertion
- MorphismCalculus.CurryingUncurryingRecovery
- MorphismCalculus.DiagramExpressionIdentifications
- MorphismCalculus.DiagramNames
- MorphismCalculus.DoublePostcompositionFrames
- MorphismCalculus.EndpointFiberContractibility
- MorphismCalculus.EndpointFiberEquivalences
- MorphismCalculus.EndpointFiberExpressions
- MorphismCalculus.EndpointFiberLifts
- MorphismCalculus.EndpointFiberOperationEquivalences
- MorphismCalculus.EvaluatedPairRestriction
- MorphismCalculus.EvaluatedParameterChange
- MorphismCalculus.EvaluatedTriangleFamilies
- MorphismCalculus.EvaluatedUncurryingEndpoints
- MorphismCalculus.ExpressionCalculus
- MorphismCalculus.ExpressionDiagramPresentations
- MorphismCalculus.ExpressionEquivalences
- MorphismCalculus.ExpressionFrameCalculus
- MorphismCalculus.ExpressionFrameSquares
- MorphismCalculus.ExpressionIdentifications
- MorphismCalculus.ExpressionPostcomposition
- MorphismCalculus.ExpressionPostcompositionPasting
- MorphismCalculus.ExpressionRestriction
- MorphismCalculus.ExpressionRestrictionFrames
- MorphismCalculus.ExpressionRestrictionPostcomposition
- MorphismCalculus.ExpressionRestrictionSquare
- MorphismCalculus.ExternalProductExpressions
- MorphismCalculus.ExternalProductPostcomposition
- MorphismCalculus.ExternalProductRestriction
- MorphismCalculus.ExternalProductSeparation
- MorphismCalculus.FixedCoordinateExpressions
- MorphismCalculus.FixedCoordinateTriangles
- MorphismCalculus.GlobalCompositionExpressions
- MorphismCalculus.GluedCompositePresentations
- MorphismCalculus.IdentityExpressionPostcomposition
- MorphismCalculus.IdentityExpressionRetargeting
- MorphismCalculus.IdentityExpressionSubstitution
- MorphismCalculus.IdentityFromDiagram
- MorphismCalculus.IdentityFunctorExpressions
- MorphismCalculus.IsomorphicPostcomposition
- MorphismCalculus.IsomorphismExpressionOperations
- MorphismCalculus.NormalizedIdentityExpressions
- MorphismCalculus.PairedCoordinatePostcomposition
- MorphismCalculus.PairedParameterChange
- MorphismCalculus.PostcompositionPairing
- MorphismCalculus.PostcompositionPresentations
- MorphismCalculus.PresentationComparisons
- MorphismCalculus.PresentationSubstitution
- MorphismCalculus.ProductExpressionFrames
- MorphismCalculus.ProductExpressionFunctoriality
- MorphismCalculus.ProductExpressionReflection
- MorphismCalculus.ProductExpressionRestriction
- MorphismCalculus.ProductExpressions
- MorphismCalculus.ProductIdentities
- MorphismCalculus.PullbackDiagramLifting
- MorphismCalculus.RestrictionAlongSection
- MorphismCalculus.SquareCompositePresentations
- MorphismCalculus.TriangleComparisons
- MorphismCalculus.TriangleFamilies
- MorphismCalculus.TriangleFamilyPresentations
- MorphismCalculus.TriangleVertices
- MorphismCalculus.UncurriedExpressionComparisons
- MorphismCalculus.UncurriedPostcompositionComparisons
- MorphismCalculus.UncurriedProductExpressions
- MorphismCalculus.UncurriedRestrictionExpressions
- MorphismCalculus.UncurryingCoordinateEndpoints
- MorphismCalculus.UncurryingCurryingRecovery
- MorphismCalculus.UncurryingDiagramEndpoints
- MorphismCalculus.UncurryingExpressionCoordinates
- MorphismCalculus.UncurryingExpressionFrames
- MorphismCalculus.UncurryingExpressionRestriction
- MorphismCalculus.UncurryingExpressions
- MorphismCalculus.UncurryingFramedOperations
- MorphismCalculus.UncurryingFunctorPostcomposition
- MorphismCalculus.UncurryingFunctorPrecomposition
- MorphismCalculus.UncurryingIdentifiedPostcomposition
- MorphismCalculus.UncurryingPostcomposition
- MorphismCalculus.UncurryingPrecompositionFrames
- MorphismCalculus.UncurryingReflection
- MorphismCalculus.UncurryingTriangleReflection
- NaturalTransformationWhiskering
- Naturality
- PrimitiveIdentificationComposition
- ProductComposition
- ProductInterchange
- SegalAxiom
- SquareCalculus.ArrowCategorySquares
- SquareCalculus.AssociativitySquares
- SquareCalculus.CommonRestrictionDiagonal
- SquareCalculus.EvaluatedSquareExpressions
- SquareCalculus.FramedSquareCommutativity
- SquareCalculus.FramedSquareEndpoints
- SquareCalculus.GluedFramedSquares
- SquareCalculus.GluedSquareArrows
- SquareCalculus.GluedSquareCorners
- SquareCalculus.PairedFaceCorners
- SquareCalculus.SquareBoundaryCones
- SquareCalculus.SquareBoundaryTransfer
- SquareCalculus.SquareCornerEvaluation
- SquareCalculus.SquareCurrying
- SquareCalculus.SquareCurryingCoordinates
- SquareCalculus.SquareCurryingCorner
- SquareCalculus.SquareCurryingEquivalence
- SquareCalculus.SquareDiagramCorners
- SquareCalculus.SquareEndpointCalculus
- SquareCalculus.SquareFaceCorners
- SquareCalculus.SquareInsertionCorner
- SquareCalculus.SquareInsertionNormalization
- SquareCalculus.SquareParameterCorner
- SquareCalculus.UncurryFramedSquare
- TrianglePullbacks
- UnitCalculus.DirectUnitEndpoints
- UnitCalculus.DirectUnitPresentations
- UnitCalculus.DirectUnitTriangles
- UnitCalculus.UnitTriangleFamilies
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Realizing operations on families of morphisms An operation on parameterized morphism expressions that respects restriction defines a functor between endpoint pullbacks. Its action on an arbitrary family is obtained by restriction of the universal family. If two such operations are inverse, their realized functors are inverse. The endpoint-change law is needed when using the specified base comparison of a pullback lift. ```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 Laws import SCT.VolumeI.Chapter02.Section01.WalkingMorphism as Walking module SCT.VolumeI.Chapter02.Section02.MorphismCalculus.EndpointFiberOperations {c m a : Level} (๐ฏ : Theory c m a) (M : Mapping.MappingAnimae ๐ฏ) (โฑ : Categories.FunctorCategories ๐ฏ M) (P : Laws.PullbackStructure ๐ฏ) (I : Walking.WalkingMorphism ๐ฏ) where open import SCT.VolumeI.Chapter02.Section02.MorphismCalculus.EndpointFiberLifts ๐ฏ M โฑ P I public open import SCT.VolumeI.Chapter02.Section02.MorphismCalculus.ExpressionIdentifications ๐ฏ M โฑ I open Laws.PullbackStructure P record ExpressionOperation {B C D : CAT} (u v : MAP B C) (s t : MAP B D) : Set (c โ m) where field apply : {ฮ : CAT} (b : MAP ฮ B) โ MorphismExpression (u โ b) (v โ b) โ MorphismExpression (s โ b) (t โ b) on-comparison : {ฮ : CAT} (b : MAP ฮ B) {f g : MorphismExpression (u โ b) (v โ b)} โ ExpressionIso f g โ ExpressionIso (apply b f) (apply b g) on-restriction : {ฮ ฮ : CAT} (b : MAP ฮ B) (f : MorphismExpression (u โ b) (v โ b)) (h : MAP ฮ ฮ) โ ExpressionIso (Lifts.restrict s t b (apply b f) h) (apply (b โ h) (Lifts.restrict u v b f h)) on-change : {ฮ : CAT} {b d : MAP ฮ B} (f : MorphismExpression (u โ b) (v โ b)) (ฯ : b =โ d) โ ExpressionIso (retarget-expression (apply b f) (s โ ฯ) (t โ ฯ)) (apply d (retarget-expression f (u โ ฯ) (v โ ฯ))) module Realize {B C D : CAT} {u v : MAP B C} {s t : MAP B D} (operation : ExpressionOperation u v s t) where private module O = ExpressionOperation operation module Source = Fiber u v using (decode; decode-restrict; read; encode-decode) module Target = Lifts s t using (lift-restrict; lift-cong) module H = EndpointFiber u v module K = EndpointFiber s t universal : MorphismExpression (u โ H.base) (v โ H.base) universal = Source.decode (pullbackCone endpoints (pair u v)) functor : MAP H.category K.category functor = K.lift H.base (O.apply H.base universal) base : (K.base โ functor) =โ H.base base = K.lift-base H.base (O.apply H.base universal) abstract on-family : {ฮ : CAT} (h : MAP ฮ H.category) โ (functor โ h) =โ K.lift (H.base โ h) (O.apply (H.base โ h) (Source.read h)) on-family h = Target.lift-cong (H.base โ h) (expressionIso-compose (O.on-comparison (H.base โ h) (Source.decode-restrict (pullbackCone endpoints (pair u v)) h)) (O.on-restriction H.base universal h)) โ Target.lift-restrict H.base (O.apply H.base universal) h lift-universal : H.lift H.base universal =โ id H.category lift-universal = Lifts.lift-universal u v module InverseOperations {B C D : CAT} {u v : MAP B C} {s t : MAP B D} (forward : ExpressionOperation u v s t) (backward : ExpressionOperation s t u v) (inverse-law : {ฮ : CAT} (b : MAP ฮ B) (f : MorphismExpression (u โ b) (v โ b)) โ ExpressionIso (ExpressionOperation.apply backward b (ExpressionOperation.apply forward b f)) f) where private module F = ExpressionOperation forward module G = ExpressionOperation backward module A = Realize forward using (functor; base; universal; lift-universal) module Z = Realize backward using (functor; on-family) module H = EndpointFiber u v module K = EndpointFiber s t module Source = Lifts u v using (lift-change) module Target = Fiber s t using (read; read-lift) abstract composite : (Z.functor โ A.functor) =โ id H.category composite = A.lift-universal โ Source.lift-change (G.apply (K.base โ A.functor) (Target.read A.functor)) A.universal A.base (expressionIso-compose (inverse-law H.base A.universal) (expressionIso-compose (G.on-comparison H.base (Target.read-lift H.base (F.apply H.base A.universal))) (G.on-change (Target.read A.functor) A.base))) โ Z.on-family A.functor module EquivalenceOperations {B C D : CAT} {u v : MAP B C} {s t : MAP B D} (forward : ExpressionOperation u v s t) (backward : ExpressionOperation s t u v) (left-law : {ฮ : CAT} (b : MAP ฮ B) (f : MorphismExpression (u โ b) (v โ b)) โ ExpressionIso (ExpressionOperation.apply backward b (ExpressionOperation.apply forward b f)) f) (right-law : {ฮ : CAT} (b : MAP ฮ B) (g : MorphismExpression (s โ b) (t โ b)) โ ExpressionIso (ExpressionOperation.apply forward b (ExpressionOperation.apply backward b g)) g) where isEquiv : IsEquiv (Realize.functor forward) isEquiv = record { inverse = Realize.functor backward ; sectionIso = (InverseOperations.composite forward backward left-law) โปยน ; retractionIso = (InverseOperations.composite backward forward right-law) โปยน } equivalence : Equiv (EndpointFiber.category u v) (EndpointFiber.category s t) equivalence = record { functor = Realize.functor forward ; isEquiv = isEquiv } ```