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.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.UnitTriangleFamilies
Complete compiler-highlighted source. Follow a symbol to its declaration.
# The universal degenerate triangle We use the universal arrow on `Ar C` and the actual identity expression. The three edge comparisons are lifted directly from evaluation diagrams. Their uncurried and evaluated images are retained. `DirectUnitEndpoints` normalizes these images, and `DirectUnitPresentations` proves the three vertex equations and the endpoint-preserving universal unit comparisons. ```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.UnitCalculus.DirectUnitTriangles {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.DiagramCalculus.DegenerateCocones π― M β± P I E public open import SCT.VolumeI.Chapter01.Section08.ProductSquares π― using (productRestriction-comp) open import SCT.VolumeI.Chapter01.Section07.EvaluationCalculus.IsomorphismLifting π― M β± using (funIsoReflect; funIsoReflect-Ξ²) open import SCT.VolumeI.Chapter02.Section01.EvaluationCalculus.EndpointNaturality π― M β± using (module Evaluation) import SCT.VolumeI.Chapter02.Section02.EvaluationCalculus.UniversalArrowEvaluation as UniversalEvaluation open import SCT.VolumeI.Chapter01.Section02.Isomorphisms vocabulary terminal products productLaws composition vertical whiskering using (cancel-inverse) -- The prescribed uncurried image also prescribes the evaluated image. module ReflectedEndpoint {Ξ A C : CAT} (x : Obj-abs A) (h k : MAP Ξ (Fun A C)) {H : MAP (Ξ Γ A) C} (Ξ² : (funUncurry k) =β H) (ΞΈ : (funUncurry h) =β H) (Ξ΄ : h =β k) (image : (funUncurryIso Ξ΄) =β (Ξ² β»ΒΉ β ΞΈ)) where i = insert {X = Ξ} x abstract raw-endpoint : ((Ξ² β· i) β (funUncurryIso Ξ΄ β· i)) =β (ΞΈ β· i) raw-endpoint = (preWhisker i β (cancel-inverse Ξ² ΞΈ β isoComp-cong (idIso Ξ²) image)) β (preWhisker-isoComp-at Ξ² (funUncurryIso Ξ΄) i) β»ΒΉ endpoint : (((Ξ² β· i) β evaluate-uncurry x k) β (evaluate x β Ξ΄)) =β ((ΞΈ β· i) β evaluate-uncurry x h) endpoint = isoComp-cong raw-endpoint (idIso (evaluate-uncurry x h)) β ((isoComp-assoc-at (Ξ² β· i) (funUncurryIso Ξ΄ β· i) (evaluate-uncurry x h)) β»ΒΉ β (isoComp-cong (idIso (Ξ² β· i)) (Evaluation.natural x Ξ΄) β isoComp-assoc-at (Ξ² β· i) (evaluate-uncurry x k) (evaluate x β Ξ΄))) module Universal (C : CAT) where X = Ar C arrow : MorphismExpression (evβ {C}) evβ arrow = record { arrow = id X ; source-frame = comp-unitΚ³ evβ ; target-frame = comp-unitΚ³ evβ } -- A constant restriction evaluates the universal arrow at its endpoint. constant-insertion : (x : Obj-abs [1]) β (productMap (id X) (const x)) =β (insert x β prβ) constant-insertion x = (pair-pre (id X) (const x) prβ) β»ΒΉ β pair-cong (idIso (id X β prβ)) ((comp-assoc prβ (terminate X) x) β»ΒΉ β ((x β terminal-iso (terminate [1] β prβ) (terminate X β prβ)) β comp-assoc prβ (terminate [1]) x)) constant-evaluation : (x : Obj-abs [1]) β (funEval β productMap (id X) (const x)) =β (evaluate x β prβ) constant-evaluation x = (comp-assoc prβ (insert x) funEval) β»ΒΉ β (funEval β constant-insertion x) identity-evaluation : (funEval β productMap (id X) (id [1])) =β funEval identity-evaluation = comp-unitΚ³ funEval β (funEval β productMap-id X [1]) module Degeneracy (s : MAP [2] [1]) where triangle : MAP X (Fun [2] C) triangle = funPre s edge-image : (d : MAP [1] [2]) β (funUncurry (funPre d β triangle)) =β (funEval β productMap (id X) (s β d)) edge-image d = (funEval β productRestriction-comp X d s) β (comp-assoc (productMap (id X) d) (productMap (id X) s) funEval β ((funPre-Ξ² s β· productMap (id X) d) β funPre-uncurry d triangle)) module IdentityEdge (d : MAP [1] [2]) (Ξ± : (s β d) =β (id [1])) where diagram-image : (funUncurry (funPre d β triangle)) =β funEval diagram-image = identity-evaluation β ((funEval β productMap-cong (idIso (id X)) Ξ±) β edge-image d) raw : (funUncurry (funPre d β triangle)) =β (funUncurry (id X)) raw = (funUncurry-id [1] C) β»ΒΉ β diagram-image comparison : (funPre d β triangle) =β (id X) comparison = funIsoReflect _ _ raw retained-image : (funUncurryIso comparison) =β raw retained-image = funIsoReflect-Ξ² _ _ raw abstract endpoint : (x : Obj-abs [1]) β (comp-unitΚ³ (evaluate {C = C} x) β (evaluate x β comparison)) =β ((diagram-image β· insert x) β evaluate-uncurry x (funPre d β triangle)) endpoint x = ReflectedEndpoint.endpoint x (funPre d β triangle) (id X) (funUncurry-id [1] C) diagram-image comparison retained-image β isoComp-cong ((UniversalEvaluation.Universal.endpoint π― M β± {C = C} x) β»ΒΉ) (idIso (evaluate x β comparison)) module ConstantEdge (d : MAP [1] [2]) (x : Obj-abs [1]) (Ξ± : (s β d) =β (const x)) where diagram-image : (funUncurry (funPre d β triangle)) =β (evaluate x β prβ) diagram-image = constant-evaluation x β ((funEval β productMap-cong (idIso (id X)) Ξ±) β edge-image d) raw : (funUncurry (funPre d β triangle)) =β (funUncurry (MorphismExpression.arrow (identity-expression (evaluate x)))) raw = (funCurry-Ξ² (evaluate x β prβ)) β»ΒΉ β diagram-image comparison : (funPre d β triangle) =β (MorphismExpression.arrow (identity-expression (evaluate x))) comparison = funIsoReflect _ _ raw retained-image : (funUncurryIso comparison) =β raw retained-image = funIsoReflect-Ξ² _ _ raw abstract endpoint : (y : Obj-abs [1]) β (evaluate-curry y (evaluate x β prβ) β (evaluate y β comparison)) =β ((diagram-image β· insert y) β evaluate-uncurry y (funPre d β triangle)) endpoint y = ReflectedEndpoint.endpoint y (funPre d β triangle) (MorphismExpression.arrow (identity-expression (evaluate x))) (funCurry-Ξ² (evaluate x β prβ)) diagram-image comparison retained-image source-image : (MorphismExpression.source-frame (identity-expression (evaluate x)) β (evβ β comparison)) =β (identity-boundary zero (evaluate x) β ((diagram-image β· insert zero) β evaluate-uncurry zero (funPre d β triangle))) source-image = isoComp-cong (idIso (identity-boundary zero (evaluate x))) (endpoint zero) β isoComp-assoc-at (identity-boundary zero (evaluate x)) (evaluate-curry zero (evaluate x β prβ)) (evβ β comparison) target-image : (MorphismExpression.target-frame (identity-expression (evaluate x)) β (evβ β comparison)) =β (identity-boundary one (evaluate x) β ((diagram-image β· insert one) β evaluate-uncurry one (funPre d β triangle))) target-image = isoComp-cong (idIso (identity-boundary one (evaluate x))) (endpoint one) β isoComp-assoc-at (identity-boundary one (evaluate x)) (evaluate-curry one (evaluate x β prβ)) (evβ β comparison) module Left where module Triangle = Degeneracy sβ module First = Triangle.ConstantEdge dβ zero sβ-dβ module Second = Triangle.IdentityEdge dβ sβ-dβ module Long = Triangle.IdentityEdge dβ sβ-dβ module Right where module Triangle = Degeneracy sβ module First = Triangle.IdentityEdge dβ sβ-dβ module Second = Triangle.ConstantEdge dβ one sβ-dβ module Long = Triangle.IdentityEdge dβ sβ-dβ ```