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.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.
# Currying comparisons with specified endpoints Currying respects identifications of framed transformations. The proof retains the restriction square for each endpoint through both currying operations. In particular, it does not replace endpoint compatibility by an identification of the underlying diagrams alone. ```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.MorphismCalculus.CurryingExpressionComparisons {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.Morphisms π― M β± I public open import SCT.VolumeI.Chapter01.Section07.EvaluationCalculus.IsomorphismLifting π― M β± using (funIsoReflect; funIsoReflect-Ξ²; funReflect-Isoβ) import SCT.VolumeI.Chapter02.Section02.MorphismCalculus.CurryingExpressions as Currying import SCT.VolumeI.Chapter02.Section02.MorphismCalculus.UncurriedExpressionComparisons as Uncurried import SCT.VolumeI.Chapter02.Section02.MorphismCalculus.DiagramExpressionIdentifications as Diagrams import SCT.VolumeI.Chapter01.Section02.Isomorphisms as Iso import SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural as Structural open Iso vocabulary terminal products productLaws composition vertical whiskering using (cancel-inverse) open Structural vocabulary terminal products productLaws composition whiskering using (preWhisker-comp-at) private paste : {Y Z : CAT} {hβ hβ kβ kβ t : MAP Y Z} (u : hβ =β kβ) (v : hβ =β kβ) (p : hβ =β hβ) (q : kβ =β kβ) (r : hβ =β t) (s : kβ =β t) β (s β v) =β r β (q β u) =β (v β p) β ((s β q) β u) =β (r β p) paste u v p q r s upper lower = isoComp-cong upper (idIso p) β (isoComp-assoc-at s v p) β»ΒΉ β isoComp-cong (idIso s) lower β isoComp-assoc-at s q u reassociate : {Y Z : CAT} {hβ hβ hβ hβ hβ hβ : MAP Y Z} (v : hβ =β hβ ) (w : hβ =β hβ) (x : hβ =β hβ) (y : hβ =β hβ) (z : hβ =β hβ) β (v β (w β (x β (y β z)))) =β ((((v β w) β x) β y) β z) reassociate v w x y z = (isoComp-assoc-at ((v β w) β x) y z) β»ΒΉ β (isoComp-assoc-at (v β w) x (y β z)) β»ΒΉ β (isoComp-assoc-at v w (x β (y β z))) β»ΒΉ module At {Ξ X C : CAT} (f g : MAP Ξ (Fun X C)) {Ξ± Ξ² : MorphismExpression (funUncurry f) (funUncurry g)} (ΞΎ : ExpressionIso Ξ± Ξ²) where module A = Currying.Curry π― M β± I f g Ξ± module B = Currying.Curry π― M β± I f g Ξ² module U = Uncurried.UncurryComparison π― M β± P I E ΞΎ Ξ΄ = U.underlying Ξ΄-diagram = Ξ΄ β· A.permutation bA = funCurry-Ξ² A.diagram bB = funCurry-Ξ² B.diagram lifted = funIsoReflect A.first-curry B.first-curry (bB β»ΒΉ β (Ξ΄-diagram β bA)) abstract lifted-square : (bB β funUncurryIso lifted) =β (Ξ΄-diagram β bA) lifted-square = cancel-inverse bB (Ξ΄-diagram β bA) β isoComp-cong (idIso bB) (funIsoReflect-Ξ² A.first-curry B.first-curry (bB β»ΒΉ β (Ξ΄-diagram β bA))) module Endpoint (z : Obj-abs [1]) (h : MAP Ξ (Fun X C)) (p : (evaluate z β MorphismExpression.arrow Ξ±) =β funUncurry h) (q : (evaluate z β MorphismExpression.arrow Ξ²) =β funUncurry h) (compatible : (q β (evaluate z β ExpressionIso.comparison ΞΎ)) =β p) where module AE = A.Endpoint z h p module BE = B.Endpoint z h q i = insert {X = Ξ} z j = insert {X = Ξ Γ X} z step = AE.step ΞΊ = AE.insertion-comparison frontA = p β (evaluate-uncurry z (MorphismExpression.arrow Ξ±)) β»ΒΉ frontB = q β (evaluate-uncurry z (MorphismExpression.arrow Ξ²)) β»ΒΉ tA = A.original β ΞΊ tB = B.original β ΞΊ aA = comp-assoc step A.permutation A.original aB = comp-assoc step B.permutation B.original rA = funUncurry-restrict A.first-curry i rB = funUncurry-restrict B.first-curry i abstract front-square : (frontB β (Ξ΄ β· j)) =β frontA front-square = U.Endpoint.comparison z p q compatible coordinate-square : ((frontB β tB) β (Ξ΄ β· (A.permutation β step))) =β (frontA β tA) coordinate-square = paste _ _ tA tB frontA frontB front-square ((interchange-at Ξ΄ ΞΊ) β»ΒΉ) diagram-square : (((frontB β tB) β aB) β (Ξ΄-diagram β· step)) =β ((frontA β tA) β aA) diagram-square = paste _ _ aA aB _ _ coordinate-square (preWhisker-comp-at Ξ΄ A.permutation step) beta-square : ((((frontB β tB) β aB) β (bB β· step)) β (funUncurryIso lifted β· step)) =β (((frontA β tA) β aA) β (bA β· step)) beta-square = paste _ _ (bA β· step) (bB β· step) _ _ diagram-square (preWhisker-isoComp-at Ξ΄-diagram bA step β (preWhisker step β lifted-square) β (preWhisker-isoComp-at bB (funUncurryIso lifted) step) β»ΒΉ) raw-square : (BE.raw β funUncurryIso (lifted β· i)) =β AE.raw raw-square = (reassociate frontA tA aA (bA β· step) rA) β»ΒΉ β paste _ _ rA rB _ _ beta-square (funUncurry-restrict-inputs lifted i) β isoComp-cong (reassociate frontB tB aB (bB β· step) rB) (idIso (funUncurryIso (lifted β· i))) comparison : (BE.reflected β (lifted β· i)) =β AE.reflected comparison = funReflect-Isoβ _ _ ((AE.reflected-image) β»ΒΉ β raw-square β isoComp-cong BE.reflected-image (idIso (funUncurryIso (lifted β· i))) β funUncurryIso-comp BE.reflected (lifted β· i)) value : ExpressionIso A.value B.value value = Diagrams.At.comparison π― M β± P I E A.first-curry B.first-curry lifted A.Source.reflected A.Target.reflected B.Source.reflected B.Target.reflected (Endpoint.comparison zero f (MorphismExpression.source-frame Ξ±) (MorphismExpression.source-frame Ξ²) (ExpressionIso.source-compatible ΞΎ)) (Endpoint.comparison one g (MorphismExpression.target-frame Ξ±) (MorphismExpression.target-frame Ξ²) (ExpressionIso.target-compatible ΞΎ)) ```