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.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.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.
# Normalizing the endpoints of a restricted edge A face followed by a diagram gives an edge of the resulting family. The theorem below evaluates a specified comparison of that edge and retains its endpoint frame. Restriction composition and naturality are used through their checked interfaces; the product diagram is not expanded. ```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.RestrictionEndpointComposition as Composition import SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural as Structural import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingNaturality as PN module SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Restriction.RestrictionEdgeEndpoints {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.Section04.Uncurrying šÆ M using (productMap-pair) open import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Restriction.RestrictionInsertions šÆ M ā± using (insertion) open import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Endpoints.EndpointCornerFamilies šÆ M ā± P using (evaluate-cong-inverse) open import SCT.VolumeI.Chapter01.Section06.ConeCalculus.ComparisonSquares šÆ using (post-square) open import SCT.VolumeI.Chapter01.Section08.MappingCalculus.Restriction.EvaluationSquares šÆ using (append-square) open Structural vocabulary terminal products productLaws composition whiskering using (whisker-mixed-at) open PN vocabulary terminal products productLaws composition vertical whiskering using (cancel-left) prefix : {A B C : CAT} (f : MAP A B) (x : Obj-abs A) ā ((funEval ā productMap (id (Fun B C)) f) ā insert x) =ā evaluate (f ā x) prefix {B = B} {C = C} f x = (funEval ā insertion (Fun B C) f x) ā comp-assoc (insert x) (productMap (id (Fun B C)) f) funEval module Change {A B C : CAT} {f g : MAP A B} (α : f =ā g) (x : Obj-abs A) where module R = Restriction {C = C} α x abstract comparison : (prefix {C = C} g x ā ((funEval ā R.image) ā· R.i)) =ā (evaluate-cong {C = C} (α ā· x) ā prefix f x) comparison = paste-squares (comp-assoc R.i R.F funEval) (comp-assoc R.i R.G funEval) (funEval ā (R.close-f ā productMap-pair (id R.X) f (id R.X) (const x))) (funEval ā (R.close-g ā productMap-pair (id R.X) g (id R.X) (const x))) ((funEval ā R.image) ā· R.i) (funEval ā (R.image ā· R.i)) (evaluate-cong (α ā· x)) (whisker-mixed-at R.image R.i funEval) (post-square funEval _ _ _ _ R.insertion-square) module At {A B D C : CAT} (f : MAP A B) (g : MAP B D) (x : Obj-abs A) (r : MAP A D) (α : (g ā f) =ā r) (z : Obj-abs D) (b : (r ā x) =ā z) where module Raw = Retained.AtObject šÆ M ā± P {C = C} f g x X = Fun D C e = funEval {C = D} {D = C} i = insert {X = X} x image = e ā productMap-cong (idIso (id X)) α Q = evaluate-uncurry x (funPre {D = C} f ā funPre g) rest = (Raw.leading ā· i) ā Q old = prefix {C = C} (g ā f) x new = prefix {C = C} r x va = evaluate-cong {C = C} (comp-assoc x f g) vb = evaluate-cong {C = C} b vα = evaluate-cong {C = C} (α ā· x) route = evaluate-pre {C = C} g (f ā x) ā ((evaluate-pre f x ā· funPre g) ā (comp-assoc (funPre g) (funPre f) (evaluate x)) ā»Ā¹) endpoint = b ā ((α ā· x) ā (comp-assoc x f g) ā»Ā¹) abstract compose-edge : (va ā (old ā rest)) =ā route compose-edge = Composition.At.comparison šÆ M ā± P {C = C} f g x ā isoComp-cong (idIso va) (Raw.comparison ā»Ā¹) remove-vertex : (old ā rest) =ā (va ā»Ā¹ ā route) remove-vertex = isoComp-cong (idIso (va ā»Ā¹)) compose-edge ā (cancel-left va (old ā rest)) ā»Ā¹ endpoint-image : evaluate-cong {C = C} endpoint =ā (vb ā (vα ā va ā»Ā¹)) endpoint-image = isoComp-cong (idIso vb) (isoComp-cong (idIso vα) (evaluate-cong-inverse (comp-assoc x f g)) ā evaluate-cong-comp (α ā· x) ((comp-assoc x f g) ā»Ā¹)) ā evaluate-cong-comp b ((α ā· x) ā (comp-assoc x f g) ā»Ā¹) module Output {H : MAP (X Ć A) C} (out : (e ā productMap (id X) r) =ā H) (finish : (H ā i) =ā evaluate {C = C} z) (base : (finish ā (out ā· i)) =ā (vb ā new)) where diagram = out ā (image ā Raw.leading) remaining = (image ā· i) ā rest abstract expand : (finish ā ((diagram ā· i) ā Q)) =ā (vb ā (new ā remaining)) expand = append-square finish (out ā· i) vb new remaining base ā isoComp-cong (idIso finish) (isoComp-cong (idIso (out ā· i)) (isoComp-assoc-at (image ā· i) (Raw.leading ā· i) Q) ā (isoComp-assoc-at (out ā· i) ((image ā· i) ā (Raw.leading ā· i)) Q ā isoComp-cong (isoComp-cong (idIso (out ā· i)) (preWhisker-isoComp-at image Raw.leading i) ā preWhisker-isoComp-at out (image ā Raw.leading) i) (idIso Q))) normalize : (finish ā ((diagram ā· i) ā Q)) =ā (evaluate-cong {C = C} endpoint ā route) normalize = isoComp-cong (endpoint-image ā»Ā¹) (idIso route) ā ((isoComp-assoc-at vb (vα ā va ā»Ā¹) route) ā»Ā¹ ā (isoComp-cong (idIso vb) ((isoComp-assoc-at vα (va ā»Ā¹) route) ā»Ā¹) ā (isoComp-cong (idIso vb) (isoComp-cong (idIso vα) remove-vertex) ā (isoComp-cong (idIso vb) (append-square new (image ā· i) vα old rest (Change.comparison {C = C} α x)) ā expand)))) ```