Commuting squares of maps
module foundation.commuting-squares-of-maps where
Imports
open import foundation-core.commuting-squares-of-maps public open import foundation.equivalences open import foundation.functoriality-function-types open import foundation-core.functions open import foundation-core.identity-types open import foundation-core.universe-levels
Properties
Composing and inverting squares horizontally and vertically
If the horizontal/vertical maps in a commuting square are both equivalences, then the square remains commuting if we invert those equivalences.
coherence-square-inv-horizontal : {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4} (top : A ≃ B) (left : A → X) (right : B → Y) (bottom : X ≃ Y) → coherence-square-maps (map-equiv top) left right (map-equiv bottom) → coherence-square-maps (map-inv-equiv top) right left (map-inv-equiv bottom) coherence-square-inv-horizontal top left right bottom H b = map-eq-transpose-equiv' bottom ( ( ap right (inv (issec-map-inv-equiv top b))) ∙ ( inv (H (map-inv-equiv top b)))) coherence-square-inv-vertical : {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4} (top : A → B) (left : A ≃ X) (right : B ≃ Y) (bottom : X → Y) → coherence-square-maps top (map-equiv left) (map-equiv right) bottom → coherence-square-maps bottom (map-inv-equiv left) (map-inv-equiv right) top coherence-square-inv-vertical top left right bottom H x = map-eq-transpose-equiv right ( inv (H (map-inv-equiv left x)) ∙ ap bottom (issec-map-inv-equiv left x)) coherence-square-inv-all : {l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2} {X : UU l3} {Y : UU l4} (top : A ≃ B) (left : A ≃ X) (right : B ≃ Y) (bottom : X ≃ Y) → coherence-square-maps ( map-equiv top) ( map-equiv left) ( map-equiv right) ( map-equiv bottom) → coherence-square-maps ( map-inv-equiv bottom) ( map-inv-equiv right) ( map-inv-equiv left) ( map-inv-equiv top) coherence-square-inv-all top left right bottom H = coherence-square-inv-vertical ( map-inv-equiv top) ( right) ( left) ( map-inv-equiv bottom) ( coherence-square-inv-horizontal ( top) ( map-equiv left) ( map-equiv right) ( bottom) ( H))
Any commuting square of maps induces a commuting square of function spaces
precomp-coherence-square-maps : {l1 l2 l3 l4 l5 : Level} {A : UU l1} {B : UU l2} {C : UU l3} {D : UU l4} (top : A → C) (left : A → B) (right : C → D) (bottom : B → D) → coherence-square-maps top left right bottom → (X : UU l5) → coherence-square-maps ( precomp right X) ( precomp bottom X) ( precomp top X) ( precomp left X) precomp-coherence-square-maps top leeft right bottom H X = htpy-precomp H X