Other Agda modules in this section (28)
- Equivalences
- Everything
- IdentificationCalculus.CoordinateComparisons
- IdentificationCalculus.FamilyNaturality
- IdentificationCalculus.FramedSubstitution
- IdentificationCalculus.FunctorCoherence
- IdentificationCalculus.Inverses
- IdentificationCalculus.Parameterized
- IdentificationCalculus.Structural
- IdentificationCalculus.VerticalComposition
- ProductCalculus.BinaryFunctorCalculus
- ProductCalculus.ChosenPairing
- ProductCalculus.ChosenPairingFunctoriality
- ProductCalculus.FamilyPairing
- ProductCalculus.FamilyProductFunctor
- ProductCalculus.IteratedPairing
- ProductCalculus.NestedSymmetry
- ProductCalculus.PairingAssembly
- ProductCalculus.PairingCoherence
- ProductCalculus.PairingInterface
- ProductCalculus.PairingNaturality
- ProductCalculus.PairingUnits
- ProductCalculus.ProductFunctorCoherence
- ProductCalculus.ProductFunctorUnits
- ProductCalculus.ProductPairing
- ProductConstructions
- Retracts
- Whiskering
Complete compiler-highlighted source. Follow a symbol to its declaration.
# Naturality of coordinate comparisons Postcomposition carries a specified coordinate identification to one in the target category. Its naturality squares account explicitly for the associator and for changes of either the outer functor or the source coordinate. These calculations do not require the pentagon. ```agda {-# OPTIONS --safe --without-K #-} open import Agda.Primitive using (Level) open import SCT.VolumeI.Chapter01.Section01.Vocabulary import SCT.VolumeI.Chapter01.Section01.Terminal as Terminal import SCT.VolumeI.Chapter01.Section01.Products as Products import SCT.VolumeI.Chapter01.Section02.Coherence as Coherence import SCT.VolumeI.Chapter01.Section02.Specialization as Specialization import SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural as Structural module SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.CoordinateNaturality {c m a : Level} (V : Vocabulary c m a) (T : Terminal.TerminalStructure V) (P : Products.ProductData V) (PL : Products.ProductLaws V P) (S : Coherence.CompositionStructure V T P) (VC : Coherence.VerticalCoherence V T P S) (W : Coherence.WhiskeringCoherence V T P S) where open Vocabulary V open Operations V open Coherence.CompositionStructure S open Coherence.Composition V T P S open Coherence.WhiskeringCoherence W open Specialization V T P PL S open Specialization.Units V T P PL S VC open Specialization.Whiskering V T P PL S W open Structural V T P PL S W using (whisker-mixed-at; postWhisker-comp-at; preWhisker-comp-at) paste-squares : {X Y : CAT} {a a′ b b′ c c′ : MAP X Y} (u : a =₁ b) (u′ : a′ =₁ b′) (v : b =₁ c) (v′ : b′ =₁ c′) (α : a =₁ a′) (β : b =₁ b′) (γ : c =₁ c′) → (u′ ∙ α) =₂ (β ∙ u) → (v′ ∙ β) =₂ (γ ∙ v) → ((v′ ∙ u′) ∙ α) =₂ (γ ∙ (v ∙ u)) paste-squares u u′ v v′ α β γ p q = isoComp-assoc-at γ v u ∙ (isoComp-cong q (idIso u) ∙ ((isoComp-assoc-at v′ β u) ⁻¹ ∙ (isoComp-cong (idIso v′) p ∙ isoComp-assoc-at v′ u′ α))) post-square : {X Y Z : CAT} (F : MAP Y Z) {a a′ b b′ : MAP X Y} (u : a =₁ b) (u′ : a′ =₁ b′) (α : a =₁ a′) (β : b =₁ b′) → (u′ ∙ α) =₂ (β ∙ u) → ((F ◁ u′) ∙ (F ◁ α)) =₂ ((F ◁ β) ∙ (F ◁ u)) post-square F u u′ α β p = postWhisker-isoComp-at F β u ∙ ((postWhisker F ◁ p) ∙ (postWhisker-isoComp-at F u′ α) ⁻¹) identity-square : {X Y : CAT} {f g : MAP X Y} (α : f =₁ g) → (idIso g ∙ α) =₂ (α ∙ idIso f) identity-square α = (isoComp-unitʳ-at α) ⁻¹ ∙ isoComp-unitˡ-at α coordinate-at : {X K A B : CAT} (F : MAP A B) (π : MAP K A) (t : MAP X K) {p : MAP X A} → (π ∘ t) =₁ p → ((F ∘ π) ∘ t) =₁ (F ∘ p) coordinate-at F π t b = (F ◁ b) ∙ comp-assoc t π F coordinate-at-outer : {X K A B : CAT} {F G : MAP A B} (α : F =₁ G) (π : MAP K A) (t : MAP X K) {p : MAP X A} (b : (π ∘ t) =₁ p) → (coordinate-at G π t b ∙ ((α ▷ π) ▷ t)) =₂ ((α ▷ p) ∙ coordinate-at F π t b) coordinate-at-outer {F = F} {G} α π t {p} b = paste-squares (comp-assoc t π F) (comp-assoc t π G) (F ◁ b) (G ◁ b) ((α ▷ π) ▷ t) (α ▷ (π ∘ t)) (α ▷ p) (preWhisker-comp-at α π t) ((interchange-at α b) ⁻¹) coordinate-at-inner : {X K A B : CAT} (F : MAP A B) (π : MAP K A) {t t′ : MAP X K} {p p′ : MAP X A} (b : (π ∘ t) =₁ p) (b′ : (π ∘ t′) =₁ p′) (δ : t =₁ t′) (α : p =₁ p′) → (b′ ∙ (π ◁ δ)) =₂ (α ∙ b) → (coordinate-at F π t′ b′ ∙ ((F ∘ π) ◁ δ)) =₂ ((F ◁ α) ∙ coordinate-at F π t b) coordinate-at-inner F π {t} {t′} b b′ δ α p = paste-squares (comp-assoc t π F) (comp-assoc t′ π F) (F ◁ b) (F ◁ b′) ((F ∘ π) ◁ δ) (F ◁ (π ◁ δ)) (F ◁ α) (postWhisker-comp-at δ π F) (post-square F b b′ (π ◁ δ) α p) ```