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.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.
# Restriction and successive parameter changes We evaluate the pasted separation squares using the square-projection calculus from Section 1.4. This retains the chosen currying beta witness, so that the comparison applies to the actual precomposition functor. ```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.Section08.MappingCalculus.Restriction.PrecompositionParameterChangeBase as Base import SCT.VolumeI.Chapter01.Section04.CompositionCalculus.RetainedCompositionParameterChange as Project import SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural as Structural import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingNaturality as PN module SCT.VolumeI.Chapter01.Section08.MappingCalculus.Restriction.PrecompositionParameterChange {c m a : Level} (ðŊ : Theory c m a) (M : Mapping.MappingAnimae ðŊ) where open import SCT.VolumeI.Chapter01.Section05.Setup ðŊ M open import SCT.VolumeI.Chapter01.Section04.Substitution.Compatibility ðŊ M using (slice-comparison) open import SCT.VolumeI.Chapter01.Section06.ConeCalculus.InverseCalculus ðŊ using (pre-inverse) open import SCT.VolumeI.Chapter01.Section08.MappingCalculus.Restriction.EvaluationSquares ðŊ using (cancel-evaluation-route; cancel-evaluation-pairs; append-five; append-square; compose-evaluated-pasting) open import SCT.VolumeI.Chapter01.Section06.ConeCalculus.ComparisonSquares ðŊ using (post-square) open import SCT.VolumeI.Chapter01.Section08.ProductSquares ðŊ open import SCT.VolumeI.Chapter01.Section08.ProductCalculus.ProductMixedSubstitution ðŊ M using (separate-substitution) open import SCT.VolumeI.Chapter01.Section04.SquareCalculus.ParameterSquarePasting ðŊ using (paste) open import SCT.VolumeI.Chapter01.Section04.Substitution.SubstitutionCoherence ðŊ M using (mapUncurry-restrict-iterated) open Structural vocabulary terminal products productLaws composition whiskering using (postWhisker-comp-at; whisker-mixed-at) open PN vocabulary terminal products productLaws composition vertical whiskering using (move-square) module ParameterChange {X Y A B E : CAT} (f : MAP A B) (k : MAP Y (Map B E)) (h : MAP X Y) where open Base.ParameterChange ðŊ M f k h public pasted-image = e â paste Sk Sh composite-image = e â productMap-separate (k â h) f abstract mixed-image : (composite-image â input-action) =â (output-action â pasted-image) mixed-image = post-square e (paste Sk Sh) (productMap-separate (k â h) f) (LZ â ΚA) (ΚB â· LX) (separate-substitution h k f) abstract normalize-input : (mapPre-uncurry f (k â h) â Ï) =â (output-associator â (composite-image â composite-input)) normalize-input = append-five output-associator composite-image (comp-assoc KHA LZ e) (Îē â· KHA) v Ï abstract move-product : (composite-image â (input-action â z)) =â (output-action â (pasted-image â z)) move-product = append-square composite-image input-action output-action pasted-image z mixed-image abstract close-output : ((w â· LX) â (output-associator â (output-action â (pasted-image â z)))) =â (Pasted.evaluation-action â u) close-output = compose-evaluated-pasting (w â· LX) output-associator output-action pasted-image z Pasted.target-evaluation Pasted.evaluation-action Pasted.source-evaluation u output-endpoint pasted-evaluation source-endpoint abstract comparison : ((w â· LX) â (mapPre-uncurry f (k â h) â Ï)) =â (Pasted.evaluation-action â u) comparison = close-output â (isoComp-cong (idIso (w â· LX)) (isoComp-cong (idIso output-associator) move-product) â (isoComp-cong (idIso (w â· LX)) (isoComp-cong (idIso output-associator) (isoComp-cong (idIso composite-image) input-endpoint)) â isoComp-cong (idIso (w â· LX)) normalize-input)) ```