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.EvaluationMateCalculus
- 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.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 a restriction comparison A restriction comparison consists of a square between two associators. This elementary calculation reverses that square while retaining its chosen inverse and identity comparisons. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingNaturality as PN import SCT.VolumeI.Chapter01.Section02.Isomorphisms as Isomorphisms module SCT.VolumeI.Chapter01.Section08.MappingCalculus.Restriction.RestrictionMate {c m a : Level} (π― : Theory c m a) where open import SCT.VolumeI.Chapter01.Section04.Setup π― open PN vocabulary terminal products productLaws composition vertical whiskering using (cancel-right; move-square) open Isomorphisms vocabulary terminal products productLaws composition vertical whiskering using (cancel-inverse) abstract cancel-trailing-pair : {X Y : CAT} {aβ aβ aβ aβ : MAP X Y} (P : aβ =β aβ) (A : aβ =β aβ) (B : aβ =β aβ) (Bβ» : aβ =β aβ) β Bβ» =β (B β»ΒΉ) β ((P β (A β B)) β (Bβ» β A β»ΒΉ)) =β P cancel-trailing-pair P A B Bβ» inverse = cancel-right A P β (isoComp-cong (cancel-right B (P β A) β isoComp-cong (idIso ((P β A) β B)) inverse) (idIso (A β»ΒΉ)) β ((isoComp-assoc-at ((P β A) β B) Bβ» (A β»ΒΉ)) β»ΒΉ β isoComp-cong ((isoComp-assoc-at P A B) β»ΒΉ) (idIso (Bβ» β A β»ΒΉ)))) prefix-transfer : {X Y : CAT} {aβ aβ aβ aβ aβ aβ : MAP X Y} (L : aβ =β aβ) (T : aβ =β aβ) (D : aβ =β aβ) (P : aβ =β aβ) (z : aβ =β aβ) (q : aβ =β aβ) (u : aβ =β aβ ) β D =β (L β T) β ((T β P) β z) =β (q β u) β ((D β P) β z) =β ((L β q) β u) prefix-transfer L T D P z q u endpoint core = (isoComp-assoc-at L q u) β»ΒΉ β (isoComp-cong (idIso L) core β (isoComp-assoc-at L (T β P) z β (isoComp-cong (isoComp-assoc-at L T P) (idIso z) β isoComp-cong (isoComp-cong endpoint (idIso P)) (idIso z)))) cancel-prefix : {X Y : CAT} {aβ aβ aβ aβ aβ aβ : MAP X Y} (O : aβ =β aβ ) (S : aβ =β aβ) (A : aβ =β aβ) (K : aβ =β aβ) (P : aβ =β aβ) (Q : aβ =β aβ) β (S β (K β P)) =β Q β ((O β (S β A)) β ((A β»ΒΉ β K) β P)) =β (O β Q) cancel-prefix O S A K P Q square = isoComp-cong (idIso O) square β (isoComp-cong (idIso O) (isoComp-cong (idIso S) (cancel-inverse A (K β P))) β (isoComp-cong (idIso O) (isoComp-cong (idIso S) (isoComp-cong (idIso A) (isoComp-assoc-at (A β»ΒΉ) K P))) β (isoComp-cong (idIso O) (isoComp-assoc-at S A ((A β»ΒΉ β K) β P)) β isoComp-assoc-at O (S β A) ((A β»ΒΉ β K) β P)))) close-comparison : {X Y : CAT} {aβ aβ aβ aβ aβ : MAP X Y} (source : aβ =β aβ) (prefix : aβ =β aβ) (D : aβ =β aβ) (P : aβ =β aβ) (z : aβ =β aβ) (seed : aβ =β aβ) (boundary : aβ =β aβ) (result : aβ =β aβ) β source =β (prefix β seed) β ((D β P) β z) =β seed β (prefix β (D β P)) =β boundary β (boundary β z) =β result β source =β result close-comparison source prefix D P z seed boundary result start transfer remove finish = finish β (isoComp-cong remove (idIso z) β ((isoComp-assoc-at prefix (D β P) z) β»ΒΉ β (isoComp-cong (idIso prefix) (transfer β»ΒΉ) β start))) module Boundary {X Y : CAT} {aβ aβ aβ aβ aβ : MAP X Y} (A : aβ =β aβ) (B : aβ =β aβ) (C : aβ =β aβ) (S : aβ =β aβ) (Bβ» : aβ =β aβ) (Sβ» : aβ =β aβ) (I : aβ =β aβ) (inverse-B : Bβ» =β (B β»ΒΉ)) (inverse-S : Sβ» =β (S β»ΒΉ)) (identity-I : I =β (idIso aβ)) where comparison = C β»ΒΉ β (S β (A β B)) source = Bβ» β A β»ΒΉ target = I β C β»ΒΉ abstract cancel-source : (comparison β source) =β (C β»ΒΉ β S) cancel-source = cancel-right A (C β»ΒΉ β S) β (isoComp-cong (cancel-right B ((C β»ΒΉ β S) β A) β isoComp-cong (idIso (((C β»ΒΉ β S) β A) β B)) inverse-B) (idIso (A β»ΒΉ)) β ((isoComp-assoc-at (((C β»ΒΉ β S) β A) β B) Bβ» (A β»ΒΉ)) β»ΒΉ β isoComp-cong ((isoComp-assoc-at (C β»ΒΉ β S) A B) β»ΒΉ β (isoComp-assoc-at (C β»ΒΉ) S (A β B)) β»ΒΉ) (idIso source))) cancel-target : (target β S) =β (C β»ΒΉ β S) cancel-target = isoComp-cong (isoComp-unitΛ‘-at (C β»ΒΉ) β isoComp-cong identity-I (idIso (C β»ΒΉ))) (idIso S) inverse-square : (source β Sβ») =β (comparison β»ΒΉ β target) inverse-square = (move-square comparison source target S (cancel-target β»ΒΉ β cancel-source)) β»ΒΉ β isoComp-cong (idIso source) inverse-S ```