Other Agda modules in this section (188)
- Associativity
- Composition
- EvaluationCalculus.CompositionShortEdges
- EvaluationCalculus.DoubleEvaluationCoordinates
- EvaluationCalculus.Endpoints.CompositionEndpointComparison
- 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.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.
# The corner equation for double currying The comparison between the two orders of evaluating a corner retains the reflected side comparisons and their uncurried images. Its coordinate part is the actual five-factor matching of the currying permutation. ```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 import SCT.VolumeI.Chapter02.Section01.IntervalEndpoints as Endpoints module SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Endpoints.DoubleEvaluationCorners {c m a : Level} (šÆ : Theory c m a) (M : Mapping.MappingAnimae šÆ) (ā± : Categories.FunctorCategories šÆ M) (P : Laws.PullbackStructure šÆ) (I : Walking.WalkingMorphism šÆ) (E : Endpoints.IntervalEndpoints šÆ M ā± P I) where open import SCT.VolumeI.Chapter02.Section01.EvaluationCalculus.EndpointEvaluation šÆ M ā± public open import SCT.VolumeI.Chapter02.Section02.UnitCalculus.DirectUnitTriangles šÆ M ā± P I E using (module ReflectedEndpoint) import SCT.VolumeI.Chapter02.Section02.SquareCalculus.SquareCurrying as Currying import SCT.VolumeI.Chapter02.Section02.SquareCalculus.SquareCurryingCoordinates as Axes import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.DoubleEvaluationCoordinates as Coordinates import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Restriction.CurryRestrictionCorner as Restriction import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.Postcomposition.CurryPostcomposition as Postcomposition import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingNaturality as PN open PN vocabulary terminal products productLaws composition vertical whiskering using (cancel-left) pre-chain : {X Y Z : CAT} {f g h : MAP Y Z} (α : g =ā h) (β : f =ā g) (r : MAP X Y) {s : MAP X Z} (tail : s =ā (f ā r)) ā (((α ā β) ā· r) ā tail) =ā ((α ā· r) ā ((β ā· r) ā tail)) pre-chain α β r tail = isoComp-assoc-at (α ā· r) (β ā· r) tail ā isoComp-cong (preWhisker-isoComp-at α β r) (idIso tail) module At {Ī A B C : CAT} (W : MAP Ī (Fun (A Ć B) C)) (u : Obj-abs A) (v : Obj-abs B) where module Curried = Currying.At šÆ M ā± W module H = Curried.Horizontal u module V = Curried.Vertical v module Coord = Coordinates.At šÆ M ā± Curried.H u v module Inner = Restriction.At šÆ M ā± Curried.diagram (insert v) u module Outer = Postcomposition.Evaluation šÆ M ā± P I E (evaluate u) Curried.first-curry v h = Curried.H ia = insert {X = Ī} u ib = insert {X = Ī} v qH = funPre-uncurry (Axes.coinsert šÆ M ā± u) W qV = funPre-uncurry (insert v) W aH = comp-assoc H.Coordinate.step Curried.Coordinates.permute h aV = comp-assoc V.Coordinate.step Curried.Coordinates.permute h headH = h ā H.Coordinate.comparison headV = h ā V.Coordinate.comparison curry-edge = evaluate-curry u Curried.diagram ĪøH = headH ā (aH ā (curry-edge ā Outer.raw)) ĪøV = headV ā (aV ā Inner.raw) module RefH = ReflectedEndpoint v H.evaluated H.side qH ĪøH H.comparison H.comparison-β module RefV = ReflectedEndpoint u (Curried.first-curry ā ib) V.side qV ĪøV V.restricted V.restricted-β left = (qH ā· ib) ā evaluate-uncurry v H.side right = (qV ā· ia) ā evaluate-uncurry u V.side outer-endpoint = evaluate-uncurry v H.evaluated inner-endpoint = evaluate-uncurry u (Curried.first-curry ā ib) outer-tail = (Outer.raw ā· ib) ā outer-endpoint inner-tail = (Inner.raw ā· ia) ā inner-endpoint outer-boundary = (evaluate u ā evaluate-curry v Curried.first-curry) ā evaluate-post-at v (evaluate u) Curried.nested boundary = (evaluate u ā V.boundary) ā evaluate-post-at v (evaluate u) Curried.nested top = curry-edge ā· ib middle = comp-assoc ib Curried.first-curry (evaluate u) vhead = headV ā· ia va = aV ā· ia hhead = headH ā· ib ha = aH ā· ib horizontal-normal = hhead ā (ha ā (top ā outer-tail)) vertical-normal = vhead ā (va ā inner-tail) abstract horizontal-image : (left ā (evaluate v ā H.comparison)) =ā horizontal-normal horizontal-image = isoComp-cong (idIso hhead) (isoComp-cong (idIso ha) (pre-chain curry-edge Outer.raw ib outer-endpoint) ā pre-chain aH (curry-edge ā Outer.raw) ib outer-endpoint) ā pre-chain headH (aH ā (curry-edge ā Outer.raw)) ib outer-endpoint ā RefH.endpoint vertical-image : (right ā (evaluate u ā V.restricted)) =ā vertical-normal vertical-image = isoComp-cong (idIso vhead) (pre-chain aV Inner.raw ia inner-endpoint) ā pre-chain headV (aV ā Inner.raw) ia inner-endpoint ā RefV.endpoint boundary-image : (right ā boundary) =ā (vertical-normal ā outer-boundary) boundary-image = isoComp-cong vertical-image (idIso outer-boundary) ā (isoComp-assoc-at right (evaluate u ā V.restricted) outer-boundary) ā»Ā¹ ā isoComp-cong (idIso right) (isoComp-assoc-at (evaluate u ā V.restricted) (evaluate u ā evaluate-curry v Curried.first-curry) (evaluate-post-at v (evaluate u) Curried.nested) ā isoComp-cong (postWhisker-isoComp-at (evaluate u) V.restricted (evaluate-curry v Curried.first-curry)) (idIso (evaluate-post-at v (evaluate u) Curried.nested))) interior : (inner-tail ā outer-boundary) =ā (Coord.Eā ā (top ā outer-tail)) interior = isoComp-assoc-at Coord.Eā top outer-tail ā isoComp-cong (idIso (Coord.Eā ā top)) (cancel-left middle outer-tail) ā isoComp-assoc-at (Coord.Eā ā top) (middle ā»Ā¹) (middle ā outer-tail) ā isoComp-cong Inner.comparison (Outer.comparison ā»Ā¹) comparison : (right ā boundary) =ā (Coord.result ā (left ā (evaluate v ā H.comparison))) comparison = isoComp-cong (idIso Coord.result) (horizontal-image ā»Ā¹) ā isoComp-cong (idIso Coord.result) (isoComp-assoc-at hhead ha (top ā outer-tail)) ā isoComp-assoc-at Coord.result (hhead ā ha) (top ā outer-tail) ā isoComp-cong Coord.comparison (idIso (top ā outer-tail)) ā (isoComp-assoc-at vhead (va ā Coord.Eā) (top ā outer-tail)) ā»Ā¹ ā isoComp-cong (idIso vhead) ((isoComp-assoc-at va Coord.Eā (top ā outer-tail)) ā»Ā¹) ā isoComp-cong (idIso vhead) (isoComp-cong (idIso va) interior) ā isoComp-cong (idIso vhead) (isoComp-assoc-at va inner-tail outer-boundary) ā isoComp-assoc-at vhead (va ā inner-tail) outer-boundary ā boundary-image ```