Other Agda modules in this section (28)
- Equivalences
- Everything
- IdentificationCalculus.CoordinateComparisons
- IdentificationCalculus.CoordinateNaturality
- IdentificationCalculus.FamilyNaturality
- IdentificationCalculus.FramedSubstitution
- IdentificationCalculus.FunctorCoherence
- IdentificationCalculus.Inverses
- IdentificationCalculus.Parameterized
- 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 the structural comparisons These are specializations of the parameterized whiskering axioms, with both boundaries normalized explicitly. They introduce no additional coherence. ```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 module SCT.VolumeI.Chapter01.Section03.IdentificationCalculus.Structural {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) (W : Coherence.WhiskeringCoherence V T P S) where open Vocabulary V open Operations V open Terminal.Constructions V T open Coherence.CompositionStructure S open Coherence.Composition V T P S open Coherence.WhiskeringCoherence W open Specialization V T P PL S postWhisker-id-at : {C D : CAT} {f g : MAP C D} (α : f =₁ g) → (comp-unitˡ g ∙ (id D ◁ α)) =₂ (α ∙ comp-unitˡ f) postWhisker-id-at {D = D} {f} {g} α = specialize (postWhisker-id f g) α (isoComp-evaluate (const (comp-unitˡ g)) (id D ◁ id (f = g)) α (const-evaluate (comp-unitˡ g) α) (postWhisker-evaluate (id D) (id (f = g)) α (comp-unitˡ α))) (isoComp-evaluate (id (f = g)) (const (comp-unitˡ f)) α (comp-unitˡ α) (const-evaluate (comp-unitˡ f) α)) preWhisker-id-at : {C D : CAT} {f g : MAP C D} (α : f =₁ g) → (comp-unitʳ g ∙ (α ▷ id C)) =₂ (α ∙ comp-unitʳ f) preWhisker-id-at {C} {f = f} {g} α = specialize (preWhisker-id f g) α (isoComp-evaluate (const (comp-unitʳ g)) (id (f = g) ▷ id C) α (const-evaluate (comp-unitʳ g) α) (preWhisker-evaluate (id (f = g)) (id C) α (comp-unitˡ α))) (isoComp-evaluate (id (f = g)) (const (comp-unitʳ f)) α (comp-unitˡ α) (const-evaluate (comp-unitʳ f) α)) postWhisker-comp-at : {C D E F : CAT} {f g : MAP C D} (α : f =₁ g) (u : MAP D E) (v : MAP E F) → (comp-assoc g u v ∙ ((v ∘ u) ◁ α)) =₂ ((v ◁ (u ◁ α)) ∙ comp-assoc f u v) postWhisker-comp-at {f = f} {g} α u v = specialize (postWhisker-comp f g u v) α (isoComp-evaluate (const (comp-assoc g u v)) ((v ∘ u) ◁ id (f = g)) α (const-evaluate (comp-assoc g u v) α) (postWhisker-evaluate (v ∘ u) (id (f = g)) α (comp-unitˡ α))) (isoComp-evaluate (v ◁ (u ◁ id (f = g))) (const (comp-assoc f u v)) α (postWhisker-evaluate v (u ◁ id (f = g)) α (postWhisker-evaluate u (id (f = g)) α (comp-unitˡ α))) (const-evaluate (comp-assoc f u v) α)) preWhisker-comp-at : {A B C D : CAT} {f g : MAP C D} (α : f =₁ g) (k : MAP B C) (l : MAP A B) → (comp-assoc l k g ∙ ((α ▷ k) ▷ l)) =₂ ((α ▷ (k ∘ l)) ∙ comp-assoc l k f) preWhisker-comp-at {f = f} {g} α k l = specialize (preWhisker-comp f g k l) α (isoComp-evaluate (const (comp-assoc l k g)) ((id (f = g) ▷ k) ▷ l) α (const-evaluate (comp-assoc l k g) α) (preWhisker-evaluate (id (f = g) ▷ k) l α (preWhisker-evaluate (id (f = g)) k α (comp-unitˡ α)))) (isoComp-evaluate (id (f = g) ▷ (k ∘ l)) (const (comp-assoc l k f)) α (preWhisker-evaluate (id (f = g)) (k ∘ l) α (comp-unitˡ α)) (const-evaluate (comp-assoc l k f) α)) whisker-mixed-at : {B C D E : CAT} {f g : MAP C D} (α : f =₁ g) (k : MAP B C) (u : MAP D E) → (comp-assoc k g u ∙ ((u ◁ α) ▷ k)) =₂ ((u ◁ (α ▷ k)) ∙ comp-assoc k f u) whisker-mixed-at {f = f} {g} α k u = specialize (whisker-mixed f g k u) α (isoComp-evaluate (const (comp-assoc k g u)) ((u ◁ id (f = g)) ▷ k) α (const-evaluate (comp-assoc k g u) α) (preWhisker-evaluate (u ◁ id (f = g)) k α (postWhisker-evaluate u (id (f = g)) α (comp-unitˡ α)))) (isoComp-evaluate (u ◁ (id (f = g) ▷ k)) (const (comp-assoc k f u)) α (postWhisker-evaluate u (id (f = g) ▷ k) α (preWhisker-evaluate (id (f = g)) k α (comp-unitˡ α))) (const-evaluate (comp-assoc k f u) α)) ```