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.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.EndpointFiberOperations
- 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.
# Endpoint evaluation preserves the restriction compositor The chosen compositor of `funPre` is evaluated using its retained uncurried image. The mixed parameter theorem reduces successive endpoint evaluation to the corresponding product diagram, whose composition law was proved with the vertex associator retained. ```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.Section02.EvaluationCalculus.Restriction.RestrictionCompositorEvaluation as Retained import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Restriction.RestrictionParameterEvaluation as Mixed import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Restriction.RestrictionInsertionCompositionEvaluation as Product module SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Restriction.RestrictionEndpointComposition {c m a : Level} (ð¯ : Theory c m a) (M : Mapping.MappingAnimae ð¯) (â± : Categories.FunctorCategories ð¯ M) (P : Laws.PullbackStructure ð¯) where open import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Restriction.RestrictionEvaluation ð¯ M â± P open import SCT.VolumeI.Chapter01.Section08.FunctorCategoryCalculus.FunctorSquares ð¯ M â± P using (preComp) open import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Restriction.RestrictionInsertions ð¯ M â± using (insertion) open import SCT.VolumeI.Chapter01.Section08.MappingCalculus.Restriction.EvaluationSquares ð¯ using (append-square) open import SCT.VolumeI.Chapter01.Section08.MappingCalculus.Restriction.EvaluationMateCalculus ð¯ using (append-four) module At {A B D C : CAT} (f : MAP A B) (g : MAP B D) (x : Obj-abs A) where module Raw = Retained.AtObject ð¯ M â± P {C = C} f g x X = Fun D C e = funEval {C = D} {D = C} F = productMap (id X) f G = productMap (id X) g i = insert {X = X} x j = insert {X = X} (f â x) Ïf = insertion X f x Ïg = insertion X g (f â x) Rg = funPre {D = C} g β = funPre-β {D = C} g q = funPre-uncurry f Rg Q = evaluate-uncurry x (funPre f â Rg) vertex = evaluate-cong {C = C} (comp-assoc x f g) after-g = (e â Ïg) â comp-assoc j G e beta-at-point = β â· j old-action = funUncurry Rg â Ïf old-associator = comp-assoc i F (funUncurry Rg) new-action = (e â G) â Ïf new-associator = comp-assoc i F (e â G) beta-image = (β â· F) â· i tail = (q â· i) â Q module Products = Product.At ð¯ M â± X e f g x source-tail = (evaluate-pre f x â· Rg) â (comp-assoc Rg (funPre f) (evaluate x)) â»Â¹ right = evaluate-pre g (f â x) â source-tail common = vertex â (Raw.prefix â ((Raw.leading â· i) â Q)) abstract mixed-evaluation : right =â (after-g â (beta-at-point â (old-action â (old-associator â tail)))) mixed-evaluation = isoComp-cong (idIso after-g) (isoComp-cong (idIso beta-at-point) (Mixed.At.comparison ð¯ M â± f Rg x)) â (isoComp-cong (idIso after-g) (isoComp-assoc-at beta-at-point (evaluate-uncurry (f â x) Rg) source-tail) â (isoComp-assoc-at after-g (beta-at-point â evaluate-uncurry (f â x) Rg) source-tail â isoComp-cong ((isoComp-assoc-at (e â Ïg) (comp-assoc j G e) (beta-at-point â evaluate-uncurry (f â x) Rg)) â»Â¹) (idIso source-tail))) move-beta : (after-g â (beta-at-point â (old-action â (old-associator â tail)))) =â (Products.left â (beta-image â tail)) move-beta = (isoComp-assoc-at (e â Ïg) (comp-assoc j G e â (new-action â new-associator)) (beta-image â tail)) â»Â¹ â (isoComp-cong (idIso (e â Ïg)) ((isoComp-assoc-at (comp-assoc j G e) (new-action â new-associator) (beta-image â tail)) â»Â¹) â (isoComp-assoc-at (e â Ïg) (comp-assoc j G e) ((new-action â new-associator) â (beta-image â tail)) â isoComp-cong (idIso after-g) (append-square beta-at-point (old-action â old-associator) (new-action â new-associator) beta-image tail ((application-natural F i Ïf β) â»Â¹) â isoComp-cong (idIso beta-at-point) ((isoComp-assoc-at old-action old-associator tail) â»Â¹)))) leading-image : (Raw.leading â· i) =â (Products.first-image â (beta-image â (q â· i))) leading-image = isoComp-cong (idIso Products.first-image) (preWhisker-isoComp-at (β â· F) q i) â (preWhisker-isoComp-at ((e â Products.κ) â comp-assoc F G e) ((β â· F) â q) i â (preWhisker i â ((isoComp-assoc-at (e â Products.κ) (comp-assoc F G e) ((β â· F) â q)) â»Â¹))) close-products : (Products.right â (beta-image â tail)) =â common close-products = isoComp-cong (idIso vertex) (isoComp-cong (idIso Raw.prefix) (isoComp-cong (leading-image â»Â¹) (idIso Q) â ((isoComp-assoc-at Products.first-image (beta-image â (q â· i)) Q) â»Â¹ â isoComp-cong (idIso Products.first-image) ((isoComp-assoc-at beta-image (q â· i) Q) â»Â¹))) â (isoComp-assoc-at (e â Products.Ïgf) (comp-assoc i Products.GF e) (Products.first-image â (beta-image â tail))) â»Â¹) â append-four vertex (e â Products.Ïgf) (comp-assoc i Products.GF e) Products.first-image (beta-image â tail) right-normalization : right =â common right-normalization = close-products â (isoComp-cong Products.comparison (idIso (beta-image â tail)) â (move-beta â mixed-evaluation)) comparison : (evaluate-cong {C = C} (comp-assoc x f g) â (evaluate-pre (g â f) x â (evaluate x â preComp f g))) =â (evaluate-pre g (f â x) â ((evaluate-pre f x â· funPre g) â (comp-assoc (funPre g) (funPre f) (evaluate x)) â»Â¹)) comparison = right-normalization â»Â¹ â isoComp-cong (idIso vertex) Raw.comparison ```