Other Agda modules in this section (135)
- ConeCalculus.BaseChangeInclusion
- ConeCalculus.ComparisonEquivalences
- ConeCalculus.ComparisonSquares
- ConeCalculus.Comparisons
- ConeCalculus.CompositeCones
- ConeCalculus.CompositePasting
- ConeCalculus.ConeAction
- ConeCalculus.ConeArrowChange
- ConeCalculus.ConeComparisonEncoding
- ConeCalculus.ConeIdentificationTransport
- ConeCalculus.ConePasting
- ConeCalculus.ConeRestriction
- ConeCalculus.ConeSymmetry
- ConeCalculus.ConeTransportPullbacks
- ConeCalculus.CospanAction
- ConeCalculus.CospanPullbacks
- ConeCalculus.CospanPullbacksLeft
- ConeCalculus.CospanRestriction
- ConeCalculus.CospanSymmetry
- ConeCalculus.FramedEdgeCones
- ConeCalculus.HigherComparisons
- ConeCalculus.HigherLifting
- ConeCalculus.HigherReflection
- ConeCalculus.InverseCalculus
- ConeCalculus.LeftLifts
- ConeCalculus.Operations
- ConeCalculus.ParameterizedCones
- ConeCalculus.ParameterizedPullbacks
- ConeCalculus.PointEvaluationNaturality
- ConeCalculus.PullbackLifting
- ConeCalculus.PullbackReindexing
- ConeCalculus.QuotientComparisons
- ConeCalculus.SplitComparisonLifts
- ConeCalculus.SplitRetractionMatching
- ConeCalculus.SquareRotation
- ConeCalculus.SquareTransport
- ConeCalculus.TriangleCones
- ConeCalculus.UniversalBaseChangeEquivalences
- ConeCalculus.UniversalConeComparison
- ConeCalculus.UniversalConeLifting
- ConeCalculus.UniversalFactorComparisons
- Cones
- Coordinates.BoundaryTransport
- Coordinates.DiagonalCoordinates
- Coordinates.DiagonalPullbacks
- Coordinates.DiagonalRestriction
- Coordinates.FramedProjectionRestriction
- Coordinates.PairedConeCoordinates
- Coordinates.PointDiagonalCoordinates
- Coordinates.PointDiagonalRestriction
- Coordinates.PointFrameRestriction
- Coordinates.PointProductSquares
- Coordinates.ProductConeFrames
- Coordinates.ProductCones
- Coordinates.ProductFamilyFrames
- Coordinates.ProductPullbacks
- Coordinates.ProductSquares
- Coordinates.ProjectedCones
- Coordinates.ProjectedSquareRestriction
- Coordinates.ProjectionFibers
- Coordinates.UniversalConeProjectionCalculus
- CoproductCalculus.ContractibleCoproduct
- CoproductCalculus.CoproductCones
- CoproductCalculus.CoproductDescentSquare
- CoproductCalculus.InitialPullbacks
- CoproductCalculus.ParametrizedCases
- CoproductCalculus.UniversalCoproductDescent
- CoproductDescent
- Cospans.ConeAction
- Cospans.CospanCartesian
- Cospans.CospanEquivalences
- Cospans.EquivalentCospanCone
- Cospans.FamilyChange
- Cospans.FiberImageFamilyChange
- Cospans.FiberImages
- Cospans.FiberInterchange
- Cospans.FiberInterchangeProjections
- Cospans.FiberInterchangeSquare
- Cospans.Fibers
- Cospans.FixedBaseConeAction
- Cospans.FixedParameterConeAction
- Cospans.PairedMaps
- Cospans.PairedSquares
- Cospans.ProjectedImages
- Cospans.PullbackCubeFibers
- Cospans.SquareSubstitution
- DisjointCoproducts
- Distributivity
- EmbeddingCalculus.ConeLifting
- EmbeddingCalculus.CospanEmbeddings
- EmbeddingCalculus.EmbeddingCalculus
- EmbeddingCalculus.EmbeddingCancellation
- EmbeddingCalculus.EmbeddingConeInvariance
- EmbeddingCalculus.PrescribedLifting
- EmbeddingCalculus.PullbackProjections
- EmbeddingCharacterizations
- Embeddings
- Everything
- Fibers
- MappingCalculus.ConeCurrying
- MappingCalculus.ConeReflection
- MappingCalculus.ConeUncurrying
- MappingCalculus.ConeUncurryingNormalization
- MappingCalculus.ConeUncurryingPre
- MappingCalculus.EvaluationSubstitution
- MappingCalculus.MappedCones
- MappingCalculus.MappingCompatibility
- MappingCalculus.MappingProofs
- MappingCalculus.MappingSubstitution
- MappingCalculus.TerminalPullbackTest
- MappingPullbacks
- Pasting.BaseChangeConeRecovery
- Pasting.BaseChangeSquares
- Pasting.ComparisonCancellation
- Pasting.ComparisonPasting
- Pasting.FactoredComposition
- Pasting.NestedPullbacks
- Pasting.UniversalNestedPullbacks
- Pasting.VerticalPasting
- PastingLemma
- PullbackArrowChange
- PullbackAssociativity
- PullbackComparison
- PullbackCriterion
- PullbackData
- PullbackEquivalences
- PullbackFunctor
- PullbackLaws
- PullbackProducts
- PullbackSquares
- PullbackSymmetry
- Representability
- RepresentabilityDiagonal
- SectionBaseChange
- UniversalCoproducts
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Restricting normalized projection witnesses These calculations compare a projection normalization restricted twice with the normalization at the composite parameter. The associator calculation uses the already proved pentagon; the identity case uses its unit consequence. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) import SCT.VolumeI.Chapter01.Section04.Setup as Setup import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingNaturality as PN import SCT.VolumeI.Chapter01.Section03.ProductCalculus.IteratedPairing as Iterated import SCT.VolumeI.Chapter01.Section03.ProductCalculus.ProductFunctorUnits as ProductUnits module SCT.VolumeI.Chapter01.Section06.Coordinates.ProjectionRestriction {c m a : Level} (šÆ : Theory c m a) where open Setup šÆ open PN vocabulary terminal products productLaws composition vertical whiskering using (move-square; cancel-right; cancel-left; pre-square-projection) open Iterated vocabulary terminal products productLaws composition vertical whiskering pentagonTriangle using (transport-pre; transport-pre-assoc; pentagon-whiskered) open ProductUnits vocabulary terminal products productLaws composition vertical whiskering pentagonTriangle using (left-unitor-comp) open import SCT.VolumeI.Chapter01.Section04.Substitution.CoherenceTransport šÆ using (pentagon-left-corner; changeEndpoints-to-square; square-to-changeEndpoints) open import SCT.VolumeI.Chapter01.Section04.SquareCalculus.ProjectionSquares šÆ using (post-inverse) open import SCT.VolumeI.Chapter01.Section06.Cones šÆ restricted-normalization : {R T X Y Z : CAT} (Ļ : MAP Y Z) (H : MAP X Y) (x : MAP T X) {y : MAP T Z} (n : (Ļ ā (H ā x)) =ā y) (r : MAP R T) ā (Ļ ā (H ā (x ā r))) =ā (y ā r) restricted-normalization Ļ H x n r = transport-pre Ļ (H ā x) n r ā (Ļ ā comp-assoc r x H) ā»Ā¹ opaque normalization-pre : {R T X Y Z : CAT} (Ļ : MAP Y Z) (H : MAP X Y) (k : MAP X Z) (β : (Ļ ā H) =ā k) (x : MAP T X) (r : MAP R T) {y : MAP T Z} (n : (k ā x) =ā y) ā (restricted-normalization Ļ H x (n ā transport-pre Ļ H β x) r) =ā (((n ā· r) ā (comp-assoc r x k) ā»Ā¹) ā transport-pre Ļ H β (x ā r)) normalization-pre Ļ H k β x r n = (isoComp-assoc-at (n ā· r) (A ā»Ā¹) next) ā»Ā¹ ā (isoComp-cong (idIso (n ā· r)) core ā (isoComp-assoc-at (n ā· r) (old ā corner) (edge ā»Ā¹) ā (isoComp-cong (isoComp-assoc-at (n ā· r) old corner) (idIso (edge ā»Ā¹)) ā isoComp-cong (isoComp-cong (preWhisker-isoComp-at n (transport-pre Ļ H β x) r) (idIso corner)) (idIso (edge ā»Ā¹))))) where A : ((k ā x) ā r) =ā (k ā (x ā r)) A = comp-assoc r x k old : ((Ļ ā (H ā x)) ā r) =ā ((k ā x) ā r) old = transport-pre Ļ H β x ā· r next : (Ļ ā (H ā (x ā r))) =ā (k ā (x ā r)) next = transport-pre Ļ H β (x ā r) corner : (Ļ ā ((H ā x) ā r)) =ā ((Ļ ā (H ā x)) ā r) corner = (comp-assoc r (H ā x) Ļ) ā»Ā¹ edge : (Ļ ā ((H ā x) ā r)) =ā (Ļ ā (H ā (x ā r))) edge = Ļ ā comp-assoc r x H core : ((old ā corner) ā edge ā»Ā¹) =ā (A ā»Ā¹ ā next) core = (move-square A (old ā corner) next edge (transport-pre-assoc Ļ H k β x r ā (isoComp-assoc-at A old corner) ā»Ā¹)) ā»Ā¹ associator-corner : {R T X Y Z : CAT} (r : MAP R T) (u : MAP T X) (Ļ : MAP X Y) (f : MAP Y Z) ā ((comp-assoc u Ļ f ā· r) ā (comp-assoc r u (f ā Ļ)) ā»Ā¹) =ā (((comp-assoc r (Ļ ā u) f) ā»Ā¹ ā (f ā (comp-assoc r u Ļ) ā»Ā¹)) ā comp-assoc (u ā r) Ļ f) associator-corner r u Ļ f = isoComp-cong (isoComp-cong (idIso ((comp-assoc r (Ļ ā u) f) ā»Ā¹)) ((post-inverse f (comp-assoc r u Ļ)) ā»Ā¹)) (idIso (comp-assoc (u ā r) Ļ f)) ā ((isoComp-assoc-at ((comp-assoc r (Ļ ā u) f) ā»Ā¹) ((f ā comp-assoc r u Ļ) ā»Ā¹) (comp-assoc (u ā r) Ļ f)) ā»Ā¹ ā (pentagon-left-corner (comp-assoc (u ā r) Ļ f) (comp-assoc r u (f ā Ļ)) (f ā comp-assoc r u Ļ) (comp-assoc r (Ļ ā u) f) (comp-assoc u Ļ f ā· r) (pentagon-whiskered r u Ļ f)) ā»Ā¹) unit-corner : {R T E : CAT} (r : MAP R T) (v : MAP T E) ā ((comp-unitĖ” v ā· r) ā (comp-assoc r v (id E)) ā»Ā¹) =ā (comp-unitĖ” (v ā r)) unit-corner r v = cancel-right (comp-assoc r v (id _)) (comp-unitĖ” (v ā r)) ā isoComp-cong ((left-unitor-comp r v) ā»Ā¹) (idIso ((comp-assoc r v (id _)) ā»Ā¹)) composite-normalization-pre : {R T X Y Z W : CAT} (Ļ : MAP Y Z) (H : MAP X Y) (q : MAP X W) (f : MAP W Z) (β : (Ļ ā H) =ā (f ā q)) (u : MAP T X) (r : MAP R T) ā (restricted-normalization Ļ H u (comp-assoc u q f ā transport-pre Ļ H β u) r) =ā (((comp-assoc r (q ā u) f) ā»Ā¹ ā (f ā (comp-assoc r u q) ā»Ā¹)) ā (comp-assoc (u ā r) q f ā transport-pre Ļ H β (u ā r))) composite-normalization-pre Ļ H q f β u r = isoComp-assoc-at ((comp-assoc r (q ā u) f) ā»Ā¹ ā (f ā (comp-assoc r u q) ā»Ā¹)) (comp-assoc (u ā r) q f) (transport-pre Ļ H β (u ā r)) ā (isoComp-cong (associator-corner r u q f) (idIso (transport-pre Ļ H β (u ā r))) ā normalization-pre Ļ H (f ā q) β u r (comp-assoc u q f)) identity-normalization-pre : {R T Y Z : CAT} (Ļ : MAP Y Z) (H : MAP Z Y) (β : (Ļ ā H) =ā (id Z)) (v : MAP T Z) (r : MAP R T) ā (restricted-normalization Ļ H v (comp-unitĖ” v ā transport-pre Ļ H β v) r) =ā (comp-unitĖ” (v ā r) ā transport-pre Ļ H β (v ā r)) identity-normalization-pre Ļ H β v r = isoComp-cong (unit-corner r v) (idIso (transport-pre Ļ H β (v ā r))) ā normalization-pre Ļ H (id _) β v r (comp-unitĖ” v) project-transport : {X Y Z : CAT} (Ļ : MAP Y Z) {u uā² v vā² : MAP X Y} (L : u =ā uā²) (R : v =ā vā²) (Ļ : u =ā v) ā (Ļ ā (R ā (Ļ ā L ā»Ā¹))) =ā ((Ļ ā R) ā ((Ļ ā Ļ) ā (Ļ ā L) ā»Ā¹)) project-transport Ļ L R Ļ = isoComp-cong (idIso (Ļ ā R)) (isoComp-cong (idIso (Ļ ā Ļ)) (post-inverse Ļ L) ā postWhisker-isoComp-at Ļ Ļ (L ā»Ā¹)) ā postWhisker-isoComp-at Ļ R (Ļ ā L ā»Ā¹) extend-square : {X Y : CAT} {u uā² v vā² x y : MAP X Y} (L : u =ā uā²) (R : v =ā vā²) (Ļ : u =ā v) (l : u =ā x) (r : v =ā y) (Ī“ : x =ā y) ā (r ā Ļ) =ā (Ī“ ā l) ā ((r ā R ā»Ā¹) ā (R ā (Ļ ā L ā»Ā¹))) =ā (Ī“ ā (l ā L ā»Ā¹)) extend-square L R Ļ l r Ī“ square = isoComp-assoc-at Ī“ l (L ā»Ā¹) ā (isoComp-cong square (idIso (L ā»Ā¹)) ā ((isoComp-assoc-at r Ļ (L ā»Ā¹)) ā»Ā¹ ā (isoComp-cong (idIso r) (cancel-left R (Ļ ā L ā»Ā¹)) ā isoComp-assoc-at r (R ā»Ā¹) (R ā (Ļ ā L ā»Ā¹))))) coordinate-pre : {C D E Z S T : CAT} {F : MAP C E} {G : MAP D E} (Ļ : MAP E Z) (t : Cone F G T) (r : MAP S T) {x y : MAP T Z} (l : (Ļ ā (F ā Cone.left t)) =ā x) (q : (Ļ ā (G ā Cone.right t)) =ā y) {xā² : MAP S Z} (lā² : (Ļ ā (F ā (Cone.left t ā r))) =ā xā²) (qā² : (Ļ ā (G ā (Cone.right t ā r))) =ā (y ā r)) (Dā² : xā² =ā (x ā r)) ā (restricted-normalization Ļ F (Cone.left t) l r) =ā (Dā² ā lā²) ā (restricted-normalization Ļ G (Cone.right t) q r) =ā qā² ā (qā² ā ((Ļ ā Cone.match (conePre r t)) ā lā² ā»Ā¹)) =ā (((q ā ((Ļ ā Cone.match t) ā l ā»Ā¹)) ā· r) ā Dā²) coordinate-pre {F = F} {G} Ļ t r {x} {y} l q lā² qā² Dā² left right = square-to-changeEndpoints lā² qā² (Ļ ā Cone.match (conePre r t)) (Ī“ ā Dā²) ((isoComp-assoc-at Ī“ Dā² lā²) ā»Ā¹ ā (isoComp-cong (idIso Ī“) left ā (extend-square (Ļ ā L) (Ļ ā R) (Ļ ā (Cone.match t ā· r)) (transport-pre Ļ (F ā Cone.left t) l r) (transport-pre Ļ (G ā Cone.right t) q r) Ī“ (pre-square-projection Ļ (Cone.match t) edge l q r (changeEndpoints-to-square l q (Ļ ā Cone.match t) edge (idIso edge))) ā (isoComp-cong (idIso (restricted-normalization Ļ G (Cone.right t) q r)) (project-transport Ļ L R (Cone.match t ā· r)) ā isoComp-cong (right ā»Ā¹) (idIso (Ļ ā Cone.match (conePre r t))))))) where edge : x =ā y edge = q ā ((Ļ ā Cone.match t) ā l ā»Ā¹) Ī“ : (x ā r) =ā (y ā r) Ī“ = edge ā· r L : ((F ā Cone.left t) ā r) =ā (F ā (Cone.left t ā r)) L = comp-assoc r (Cone.left t) F R : ((G ā Cone.right t) ā r) =ā (G ā (Cone.right t ā r)) R = comp-assoc r (Cone.right t) G ```