Other Agda modules in this section (54)
- AbsoluteObjects
- Contractible
- CoproductDomain
- CoreOfFun
- Currying
- Evaluation
- EvaluationCalculus.CoreViaFunctorCategories
- EvaluationCalculus.EvaluatedProjectionNormalization
- EvaluationCalculus.EvaluatedRightUnit
- EvaluationCalculus.EvaluatedSeparationChange
- EvaluationCalculus.EvaluatedUnitSquare
- EvaluationCalculus.EvaluationNaturality
- EvaluationCalculus.IsomorphismLifting
- EvaluationCalculus.IteratedCompatibility
- EvaluationCalculus.MappingCompatibility
- EvaluationCalculus.MappingProofs
- EvaluationCalculus.MappingSubstitution
- EvaluationCalculus.MappingTests
- EvaluationCalculus.NestedCoordinateNaturality
- EvaluationCalculus.PostcompositionTriangleFrames
- EvaluationCalculus.PostcompositionUnitFrame
- EvaluationCalculus.PrecompositionMiddleEvaluation
- EvaluationCalculus.PrecompositionMiddleRestriction
- EvaluationCalculus.PrecompositionOuterFrame
- EvaluationCalculus.PrecompositionProductFrameComparison
- EvaluationCalculus.PrecompositionRestrictedOuterFrame
- EvaluationCalculus.PrecompositionTriangleFrames
- EvaluationCalculus.PrecompositionUnitEvaluation
- EvaluationCalculus.ProductSeparationUnits
- EvaluationCalculus.Representation
- EvaluationCalculus.RestrictedFrameNaturality
- EvaluationCalculus.RestrictedFrames
- EvaluationCalculus.SubstitutionCoherence
- EvaluationCalculus.UncurryingAction
- EvaluationCalculus.UncurryingUnits
- Everything
- ExponentialLaw
- FunctorCategories
- FunctorProducts
- FunctorPullbacks
- Functoriality
- MappingComparison
- PullbackCalculus.ConeCurrying
- PullbackCalculus.ConeReflection
- PullbackCalculus.ConeUncurrying
- PullbackCalculus.ConeUncurryingNormalization
- PullbackCalculus.ConeUncurryingPre
- PullbackCalculus.MappedCones
- PullbackCalculus.PullbackMappingTests
- PullbackCalculus.UncurryingCones
- PullbackCalculus.UncurryingSquares
- Setup
- TerminalDomain
- Uniqueness
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Evaluating an associativity square A coherent square between two associative substitution routes remains coherent after evaluation and an identified evaluation functor. This is an external scalar calculation using the pentagon and naturality. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Theory using (Theory) module SCT.VolumeI.Chapter01.Section07.EvaluationCalculus.EvaluatedAssociativitySquare {c m a : Level} (đŻ : Theory c m a) where open import SCT.VolumeI.Chapter01.Section04.Setup đŻ public import SCT.VolumeI.Chapter01.Section03.ProductCalculus.IteratedPairing as Iterated import SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural as Structural open Iterated vocabulary terminal products productLaws composition vertical whiskering pentagonTriangle using (pentagon-whiskered) open Structural vocabulary terminal products productLaws composition whiskering using (whisker-mixed-at; preWhisker-comp-at; postWhisker-comp-at) module At {A B C D E : CAT} (t : MAP A B) (s : MAP B C) (p : MAP C D) (e : MAP D E) {H : MAP B D} {j : MAP A C} {P : MAP A D} {U : MAP C E} (ÎŽ : (p â s) =â H) (α : (H â t) =â P) (Îș : (s â t) =â j) (Ï : (p â j) =â P) (ÎČ : U =â (e â p)) (square : (α â (ÎŽ â· t)) =â (Ï â ((p â Îș) â comp-assoc t s p))) where aE = (e â α) â comp-assoc t H e dE = (e â ÎŽ) â (comp-assoc s p e â (ÎČ â· s)) nE = (e â Ï) â (comp-assoc j p e â (ÎČ â· j)) Aâ = comp-assoc t (p â s) e Aâ = comp-assoc (s â t) p e Aâ = comp-assoc j p e Atail = comp-assoc t s U btail = (ÎČ â· s) â· t right-tail = (U â Îș) â Atail abstract head-slide : (aE â ((e â ÎŽ) â· t)) =â ((e â (α â (ÎŽ â· t))) â Aâ) head-slide = isoComp-cong ((postWhisker-isoComp-at e α (ÎŽ â· t)) â»Âč) (idIso Aâ) â (isoComp-assoc-at (e â α) (e â (ÎŽ â· t)) Aâ) â»Âč â isoComp-cong (idIso (e â α)) (whisker-mixed-at ÎŽ t e) â isoComp-assoc-at (e â α) (comp-assoc t H e) ((e â ÎŽ) â· t) left-normal : (aE â (dE â· t)) =â ((e â (α â (ÎŽ â· t))) â (Aâ â ((comp-assoc s p e â· t) â btail))) left-normal = isoComp-assoc-at (e â (α â (ÎŽ â· t))) Aâ ((comp-assoc s p e â· t) â btail) â isoComp-cong head-slide (idIso ((comp-assoc s p e â· t) â btail)) â (isoComp-assoc-at aE ((e â ÎŽ) â· t) ((comp-assoc s p e â· t) â btail)) â»Âč â isoComp-cong (idIso aE) (isoComp-cong (idIso ((e â ÎŽ) â· t)) (preWhisker-isoComp-at (comp-assoc s p e) (ÎČ â· s) t) â preWhisker-isoComp-at (e â ÎŽ) (comp-assoc s p e â (ÎČ â· s)) t) beta-pentagon : ((e â comp-assoc t s p) â (Aâ â ((comp-assoc s p e â· t) â btail))) =â (Aâ â ((ÎČ â· (s â t)) â Atail)) beta-pentagon = isoComp-cong (idIso Aâ) (preWhisker-comp-at ÎČ s t) â isoComp-assoc-at Aâ (comp-assoc t s (e â p)) btail â isoComp-cong ((pentagon-whiskered t s p e) â»Âč) (idIso btail) â (isoComp-assoc-at (e â comp-assoc t s p) (Aâ â (comp-assoc s p e â· t)) btail) â»Âč â isoComp-cong (idIso (e â comp-assoc t s p)) ((isoComp-assoc-at Aâ (comp-assoc s p e â· t) btail) â»Âč) slide-beta : ((e â (p â Îș)) â (Aâ â ((ÎČ â· (s â t)) â Atail))) =â ((Aâ â (ÎČ â· j)) â right-tail) slide-beta = (isoComp-assoc-at Aâ (ÎČ â· j) right-tail) â»Âč â isoComp-cong (idIso Aâ) (isoComp-assoc-at (ÎČ â· j) (U â Îș) Atail) â isoComp-cong (idIso Aâ) (isoComp-cong ((interchange-at ÎČ Îș) â»Âč) (idIso Atail)) â isoComp-cong (idIso Aâ) ((isoComp-assoc-at ((e â p) â Îș) (ÎČ â· (s â t)) Atail) â»Âč) â isoComp-assoc-at Aâ ((e â p) â Îș) ((ÎČ â· (s â t)) â Atail) â isoComp-cong ((postWhisker-comp-at Îș p e) â»Âč) (idIso ((ÎČ â· (s â t)) â Atail)) â (isoComp-assoc-at (e â (p â Îș)) Aâ ((ÎČ â· (s â t)) â Atail)) â»Âč product-image : (e â (α â (ÎŽ â· t))) =â ((e â Ï) â ((e â (p â Îș)) â (e â comp-assoc t s p))) product-image = isoComp-cong (idIso (e â Ï)) (postWhisker-isoComp-at e (p â Îș) (comp-assoc t s p)) â postWhisker-isoComp-at e Ï ((p â Îș) â comp-assoc t s p) â (postWhisker e â square) value : (aE â (dE â· t)) =â (nE â right-tail) value = (isoComp-assoc-at (e â Ï) (Aâ â (ÎČ â· j)) right-tail) â»Âč â isoComp-cong (idIso (e â Ï)) slide-beta â isoComp-cong (idIso (e â Ï)) (isoComp-cong (idIso (e â (p â Îș))) beta-pentagon) â isoComp-cong (idIso (e â Ï)) (isoComp-assoc-at (e â (p â Îș)) (e â comp-assoc t s p) (Aâ â ((comp-assoc s p e â· t) â btail))) â isoComp-assoc-at (e â Ï) ((e â (p â Îș)) â (e â comp-assoc t s p)) (Aâ â ((comp-assoc s p e â· t) â btail)) â isoComp-cong product-image (idIso (Aâ â ((comp-assoc s p e â· t) â btail))) â left-normal append : {V : MAP B E} (q : V =â (U â s)) â (aE â ((dE â q) â· t)) =â (nE â ((U â Îș) â (Atail â (q â· t)))) append q = isoComp-cong (idIso nE) (isoComp-assoc-at (U â Îș) Atail (q â· t)) â isoComp-assoc-at nE right-tail (q â· t) â isoComp-cong value (idIso (q â· t)) â (isoComp-assoc-at aE (dE â· t) (q â· t)) â»Âč â isoComp-cong (idIso aE) (preWhisker-isoComp-at dE q t) ```