Other Agda modules in this section (89)
- CoconeCalculus.CoconeArrowRestriction
- CoconeCalculus.CoconePasting
- CoconeCalculus.CoconePastingPostcomposition
- CoconeCalculus.CoconePostcomposition
- CoconeCalculus.CoconeTransposition
- CoconeCalculus.CoconeUniversality
- CoconeCalculus.CompositeCocones
- CoconeCalculus.UniversalCoconePasting
- Cocones
- Everything
- FunctorCategoryCalculus.FunPrecompositionCompositeImage
- FunctorCategoryCalculus.FunPrecompositionComposition
- FunctorCategoryCalculus.FunPrecompositionCompositionBase
- FunctorCategoryCalculus.FunPrecompositionCongruence
- FunctorCategoryCalculus.FunPrecompositionNaturality
- FunctorCategoryCalculus.FunPrecompositionParameterChange
- FunctorCategoryCalculus.FunPrecompositionParameterChangeBase
- FunctorCategoryCalculus.FunRestrictionCones
- FunctorCategoryCalculus.FunSquareEvaluation
- FunctorCategoryCalculus.FunctorCriterionDetection
- FunctorCategoryCalculus.FunctorCriterionPreservation
- FunctorCategoryCalculus.FunctorSquares
- MappingCalculus.Decoding.DecodeRestrictionCones
- MappingCalculus.Decoding.DecodeSquareEvaluation
- MappingCalculus.Decoding.DecodedLegCalculus
- MappingCalculus.Decoding.DecodingCalculus
- MappingCalculus.Decoding.DecodingCompositeImage
- MappingCalculus.Decoding.DecodingComposition
- MappingCalculus.Decoding.DecodingCompositionBase
- MappingCalculus.Decoding.DecodingRestrictionNaturality
- MappingCalculus.Decoding.UnitRestrictionComposition
- MappingCalculus.Decoding.UnitRestrictionData
- MappingCalculus.Decoding.UnitRestrictionNaturality
- MappingCalculus.Restriction.EvaluationSquares
- MappingCalculus.Restriction.MapRestrictionCones
- MappingCalculus.Restriction.MapSquareEvaluation
- MappingCalculus.Restriction.MappingPastingComparison
- MappingCalculus.Restriction.PastingTransfer
- MappingCalculus.Restriction.PrecompositionCompositeImage
- MappingCalculus.Restriction.PrecompositionComposition
- MappingCalculus.Restriction.PrecompositionCompositionBase
- MappingCalculus.Restriction.PrecompositionCongruence
- MappingCalculus.Restriction.PrecompositionParameterChange
- MappingCalculus.Restriction.PrecompositionParameterChangeBase
- MappingCalculus.Restriction.RestrictionMate
- MappingCalculus.Restriction.RestrictionSquareEvaluation
- MappingCalculus.Restriction.RestrictionTransfer
- MappingCalculus.Restriction.UncurryPasting
- MappingCalculus.Transposition.SwapRestrictionComposition
- MappingCalculus.Transposition.SwapRestrictionData
- MappingCalculus.Transposition.SwapRestrictionNaturality
- MappingCalculus.Transposition.TransposedSquareEvaluation
- MappingCalculus.Transposition.Transposition
- MappingCalculus.Transposition.TranspositionCompositeImage
- MappingCalculus.Transposition.TranspositionComposition
- MappingCalculus.Transposition.TranspositionCompositionBase
- MappingCalculus.Transposition.TranspositionNaturality
- MappingCalculus.Transposition.TranspositionRestrictionNaturality
- MappingOutOfPushouts
- ProductCalculus.ChangedSeparationFrames
- ProductCalculus.NormalizedRestrictionAssociativity
- ProductCalculus.NormalizedRestrictionChange
- ProductCalculus.NormalizedRestrictionCompositeCoordinate
- ProductCalculus.NormalizedRestrictionComposition
- ProductCalculus.NormalizedRestrictionImage
- ProductCalculus.NormalizedRestrictionPentagon
- ProductCalculus.NormalizedSeparationFrames
- ProductCalculus.ParameterFirstCoordinate
- ProductCalculus.ParameterSecondCoordinate
- ProductCalculus.ProductComparisonProjections
- ProductCalculus.ProductCompositionAssociativity
- ProductCalculus.ProductCoordinateUnits
- ProductCalculus.ProductEvaluationAssociativity
- ProductCalculus.ProductFirstCoordinate
- ProductCalculus.ProductMixedSubstitution
- ProductCalculus.ProductRestrictionAssociativity
- ProductCalculus.ProductRestrictionPasting
- ProductCalculus.ProductSecondCoordinate
- ProductCalculus.ProductSeparationProjections
- ProductCalculus.ProjectionBaseCalculus
- ProductCalculus.SeparationEndpointTransport
- ProductCalculus.SeparationFrameTransport
- ProductSquares
- PushoutComparison
- PushoutExtensions
- PushoutPasting
- PushoutSquares
- RecognizingPushouts
- Squares
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Cancelling the boundary of an evaluated square These identities use only vertical composition of isomorphisms. Keeping them independent of the evaluated functors makes the subsequent mate calculations shorter and bounds the size of their elaboration problems. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) import SCT.VolumeI.Chapter01.Section02.Isomorphisms as Isomorphisms import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingNaturality as PN module SCT.VolumeI.Chapter01.Section08.MappingCalculus.Restriction.EvaluationMateCalculus {c m a : Level} (π― : Theory c m a) where open import SCT.VolumeI.Chapter01.Section04.Setup π― open Isomorphisms vocabulary terminal products productLaws composition vertical whiskering using (cancel-inverse) open PN vocabulary terminal products productLaws composition vertical whiskering using (cancel-left) abstract append-four : {X Y : CAT} {aβ aβ aβ aβ aβ aβ : MAP X Y} (A : aβ =β aβ ) (B : aβ =β aβ) (C : aβ =β aβ) (D : aβ =β aβ) (E : aβ =β aβ) β ((A β (B β (C β D))) β E) =β (A β (B β (C β (D β E)))) append-four A B C D E = isoComp-cong (idIso A) (isoComp-cong (idIso B) (isoComp-assoc-at C D E)) β (isoComp-cong (idIso A) (isoComp-assoc-at B (C β D) E) β isoComp-assoc-at A (B β (C β D)) E) cancel-mate : {X Y : CAT} {aβ aβ aβ aβ aβ aβ : MAP X Y} (A : aβ =β aβ) (B : aβ =β aβ) (C : aβ =β aβ) (Bβ» : aβ =β aβ) (U : aβ =β aβ) (r : aβ =β aβ) (tail : aβ =β aβ ) β Bβ» =β (B β»ΒΉ) β (U β r) =β (C β»ΒΉ β (B β (A β tail))) β ((A β»ΒΉ β (Bβ» β (C β U))) β r) =β tail cancel-mate A B C Bβ» U r tail inverse square = cancel-left A tail β (isoComp-cong (idIso (A β»ΒΉ)) (cancel-left B (A β tail) β isoComp-cong inverse (idIso (B β (A β tail)))) β (isoComp-cong (idIso (A β»ΒΉ)) (isoComp-cong (idIso Bβ») (cancel-inverse C (B β (A β tail)))) β (isoComp-cong (idIso (A β»ΒΉ)) (isoComp-cong (idIso Bβ») (isoComp-cong (idIso C) square)) β append-four (A β»ΒΉ) Bβ» C U r))) cancel-three : {X Y : CAT} {aβ aβ aβ aβ aβ : MAP X Y} (A : aβ =β aβ) (B : aβ =β aβ) (C : aβ =β aβ) (u : aβ =β aβ) β (((A β»ΒΉ β B β»ΒΉ) β C β»ΒΉ) β (C β (B β (A β u)))) =β u cancel-three A B C u = cancel-left A u β (isoComp-cong (idIso (A β»ΒΉ)) (cancel-left B (A β u)) β (isoComp-assoc-at (A β»ΒΉ) (B β»ΒΉ) (B β (A β u)) β (isoComp-cong (idIso (A β»ΒΉ β B β»ΒΉ)) (cancel-left C (B β (A β u))) β isoComp-assoc-at (A β»ΒΉ β B β»ΒΉ) (C β»ΒΉ) (C β (B β (A β u)))))) cancel-three-images : {X Y : CAT} {aβ aβ aβ aβ aβ : MAP X Y} (A : aβ =β aβ) (B : aβ =β aβ) (C : aβ =β aβ) (u : aβ =β aβ) (Aβ» : aβ =β aβ) (I : aβ =β aβ) β Aβ» =β (A β»ΒΉ) β I =β (idIso aβ) β (((Aβ» β B β»ΒΉ) β (I β C β»ΒΉ)) β (C β (B β (A β u)))) =β u cancel-three-images A B C u Aβ» I inverse identity = cancel-three A B C u β isoComp-cong (isoComp-cong (isoComp-cong inverse (idIso (B β»ΒΉ))) (isoComp-unitΛ‘-at (C β»ΒΉ) β isoComp-cong identity (idIso (C β»ΒΉ)))) (idIso (C β (B β (A β u)))) close-paste : {X Y : CAT} {aβ aβ aβ aβ aβ : MAP X Y} (T : aβ =β aβ) (P : aβ =β aβ) (z : aβ =β aβ) (R : aβ =β aβ) (S : aβ =β aβ) (r : aβ =β aβ) (t : aβ =β aβ) β (T β P) =β (R β S) β (S β z) =β r β (R β r) =β t β ((T β P) β z) =β t close-paste T P z R S r t pasted source action = action β (isoComp-cong (idIso R) source β (isoComp-assoc-at R S z β isoComp-cong pasted (idIso z))) ```