Other Agda modules in this chapter (87)
- RelativeCategories.BaseChange.BaseChange
- RelativeCategories.BaseChange.BaseChangeComparisonFamilies
- RelativeCategories.BaseChange.BaseChangeHigherIdentifications
- RelativeCategories.BaseChange.BasePostcomposition
- RelativeCategories.BaseChange.Identifications
- RelativeCategories.BaseChange.NativeProductBaseChange
- RelativeCategories.BaseChange.PulledFamilies
- RelativeCategories.BaseChange.SourceChange
- RelativeCategories.BaseChange.StructureChange
- RelativeCategories.Composition.EvaluatedPrecomposition
- RelativeCategories.Composition.Postcomposition
- RelativeCategories.Composition.PostcompositionEquivalences
- RelativeCategories.Composition.PostcompositionLaws
- RelativeCategories.Composition.PostcompositionReflection
- RelativeCategories.Composition.PrecompositionCompatibility
- RelativeCategories.ConeCalculus.ConeAction
- RelativeCategories.ConeCalculus.ConePasting
- RelativeCategories.ConeCalculus.ConeUncurrying
- RelativeCategories.ConeCalculus.EvaluatedRelativeCones
- RelativeCategories.ConeCalculus.NativePullbackTargets
- RelativeCategories.ConeCalculus.ProductTriangleCones
- RelativeCategories.ConeCalculus.PullbackRelativeComparisons
- RelativeCategories.ConeCalculus.PullbackTargets
- RelativeCategories.ConeCalculus.PullbackTriangles
- RelativeCategories.ConeCalculus.RelativeIntervalCones
- RelativeCategories.ConeCalculus.RestrictedConeLifts
- RelativeCategories.CoproductCalculus.CoproductDescent
- RelativeCategories.CoproductCalculus.CoproductFamilies
- RelativeCategories.CoproductCalculus.CoproductMapping
- RelativeCategories.Coproducts
- RelativeCategories.DecodedMorphisms
- RelativeCategories.DiagramMorphisms
- RelativeCategories.Equivalences
- RelativeCategories.Evaluation.BaseIdentityTriangles
- RelativeCategories.Evaluation.Evaluation
- RelativeCategories.Evaluation.EvaluationRestriction
- RelativeCategories.Evaluation.EvaluationUnitCoherence
- RelativeCategories.Evaluation.PointComputations
- RelativeCategories.Evaluation.ProductDependentEvaluation
- RelativeCategories.Evaluation.ProductUncurryingTriangles
- RelativeCategories.Evaluation.RestrictionEquivalences
- RelativeCategories.Evaluation.TriangleTransport
- RelativeCategories.Evaluation.UncurriedBaseTriangles
- RelativeCategories.Evaluation.UncurriedTriangles
- RelativeCategories.Evaluation.Uncurrying
- RelativeCategories.Evaluation.UncurryingComposition
- RelativeCategories.Evaluation.UncurryingRestriction
- RelativeCategories.Evaluation.UncurryingSubstitution
- RelativeCategories.Families.AbsolutePointFamilies
- RelativeCategories.Families.ArgumentFamilies
- RelativeCategories.Families.DecodedFamilies
- RelativeCategories.Families.Families
- RelativeCategories.Families.FamilyReflection
- RelativeCategories.Families.IdentificationFamilies
- RelativeCategories.Families.IntervalParameters
- RelativeCategories.Families.NativePointFamilies
- RelativeCategories.Functors
- RelativeCategories.IdentificationCalculus.ComparisonAlgebra
- RelativeCategories.IdentificationCalculus.ComparisonEncoding
- RelativeCategories.IdentificationCalculus.ComparisonLifting
- RelativeCategories.IdentificationCalculus.ComparisonRestriction
- RelativeCategories.IdentificationCalculus.ConstantNameChange
- RelativeCategories.IdentificationCalculus.ConstantNameNaturality
- RelativeCategories.IdentificationCalculus.ConstantNameRestriction
- RelativeCategories.IdentificationCalculus.ConstantNameUnit
- RelativeCategories.IdentificationCalculus.EquivalenceReflectionComputation
- RelativeCategories.IdentificationCalculus.FixedBoundaryComparisons
- RelativeCategories.IdentificationCalculus.HigherEncoding
- RelativeCategories.IdentificationCalculus.NamedPointEvaluation
- RelativeCategories.IdentificationCalculus.NamingCoherence
- RelativeCategories.IdentificationCalculus.NamingComparisons
- RelativeCategories.IdentificationCalculus.NamingIdentifications
- RelativeCategories.IdentificationCalculus.NamingLaws
- RelativeCategories.IdentificationCalculus.PostNamingCoherence
- RelativeCategories.Identifications
- RelativeCategories.MorphismDiagramRecovery
- RelativeCategories.MorphismDiagrams
- RelativeCategories.MorphismPostcomposition
- RelativeCategories.MorphismRetargeting
- RelativeCategories.MorphismTriangles
- RelativeCategories.MorphismWhiskering
- RelativeCategories.Morphisms
- RelativeCategories.NamedMorphisms
- RelativeCategories.Products
- RelativeCategories.PullbackMorphismLifting
- RelativeCategories.PullbackMorphisms
- RelativeCategories.TerminalBase
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Reducing the terminal coordinate after postcomposition Decoding a named functor removes its terminal coordinate. The reduction commutes with postcomposition, using the specified associator, unitor, and retraction. This is the structural part of the naming coherence. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) import SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural as Structural import SCT.VolumeI.Chapter01.Section03.ProductCalculus.IteratedPairing as Iterated import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingUnits as PairingUnitLaws import SCT.VolumeI.Chapter01.Section03.ProductCalculus.PairingNaturality as Naturality import SCT.VolumeI.Chapter01.Section02.Isomorphisms as Isomorphisms module SCT.VolumeI.Chapter03.RelativeCategories.Evaluation.PointReductionCoherence {c m a : Level} (π― : Theory c m a) where open import SCT.VolumeI.Chapter01.Section04.Setup π― open import SCT.VolumeI.Chapter01.Section06.ConeCalculus.InverseCalculus π― using (pre-inverse) open Structural vocabulary terminal products productLaws composition whiskering using (postWhisker-comp-at) open Iterated vocabulary terminal products productLaws composition vertical whiskering pentagonTriangle using (pentagon-whiskered) open PairingUnitLaws vocabulary terminal products productLaws composition vertical whiskering pentagonTriangle using (right-unitor-comp) open Naturality vocabulary terminal products productLaws composition vertical whiskering using (cancel-right) open Isomorphisms vocabulary terminal products productLaws composition vertical whiskering using (reassociateFour) module Reduction {B X : CAT} (i : MAP B X) (r : MAP X B) (e : (r β i) =β id B) where reduce : {C : CAT} (h : MAP B C) β ((h β r) β i) =β h reduce h = comp-unitΚ³ h β ((h β e) β comp-assoc i r h) module Post {C D : CAT} (h : MAP B C) (g : MAP C D) where Aβ : ((g β h) β id B) =β (g β (h β id B)) Aβ = comp-assoc (id B) h g Aβ : (((g β h) β r) β i) =β ((g β (h β r)) β i) Aβ = comp-assoc r h g β· i Aβ : ((g β (h β r)) β i) =β (g β ((h β r) β i)) Aβ = comp-assoc i (h β r) g Aβ : ((h β r) β i) =β (h β (r β i)) Aβ = comp-assoc i r h Aβ : ((g β h) β (r β i)) =β (g β (h β (r β i))) Aβ = comp-assoc (r β i) h g Aβ : (((g β h) β r) β i) =β ((g β h) β (r β i)) Aβ = comp-assoc i r (g β h) Ο : (h β id B) =β h Ο = comp-unitΚ³ h abstract merge : ((g β Ο) β ((g β (h β e)) β (g β Aβ))) =β (g β reduce h) merge = (postWhisker-isoComp-at g Ο ((h β e) β Aβ)) β»ΒΉ β isoComp-cong (idIso (g β Ο)) ((postWhisker-isoComp-at g (h β e) Aβ) β»ΒΉ) composition-comparison : reduce (g β h) =β ((g β reduce h) β (Aβ β Aβ)) composition-comparison = isoComp-cong merge (idIso (Aβ β Aβ)) β ((isoComp-assoc-at (g β Ο) ((g β (h β e)) β (g β Aβ)) (Aβ β Aβ)) β»ΒΉ β (isoComp-cong (idIso (g β Ο)) ((isoComp-assoc-at (g β (h β e)) (g β Aβ) (Aβ β Aβ)) β»ΒΉ) β (isoComp-cong (idIso (g β Ο)) (isoComp-cong (idIso (g β (h β e))) (pentagon-whiskered i r h g)) β (isoComp-cong (idIso (g β Ο)) (isoComp-assoc-at (g β (h β e)) Aβ Aβ ) β (isoComp-cong (idIso (g β Ο)) (isoComp-cong (postWhisker-comp-at e h g) (idIso Aβ )) β (reassociateFour (g β Ο) Aβ ((g β h) β e) Aβ β isoComp-cong (right-unitor-comp h g) (idIso (((g β h) β e) β Aβ )))))))) cancel-associator : (reduce (g β h) β (comp-assoc r h g β»ΒΉ β· i)) =β ((g β reduce h) β Aβ) cancel-associator = cancel-right Aβ ((g β reduce h) β Aβ) β isoComp-cong ((isoComp-assoc-at (g β reduce h) Aβ Aβ) β»ΒΉ β composition-comparison) (pre-inverse (comp-assoc r h g) i) ```