# Whiskering identifications with respect to concatenation ```agda module foundation.whiskering-identifications-concatenation where open import foundation-core.whiskering-identifications-concatenation public ``` <details><summary>Imports</summary> ```agda open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.universe-levels open import foundation.whiskering-operations open import foundation-core.equivalences open import foundation-core.function-types open import foundation-core.homotopies ``` </details> ## Idea Consider two [identifications](foundation-core.identity-types.md) `p q : x = y` in a type `A`. The whiskering operations are operations that take identifications `p = q` to identifications `r ∙ p = r ∙ q` or to identifications `p ∙ r = q ∙ r`. The {{#concept "left whiskering" Disambiguation="identifications" Agda=left-whisker-concat}} operation takes an identification `r : z = x` and an identification `p = q` to an identification `r ∙ p = r ∙ q`. Similarly, the {{#concept "right whiskering" Disambiguation="identifications" Agda=right-whisker-concat}} operation takes an identification `r : y = z` and an identification `p = q` to an identification `p ∙ r = q ∙ r`. The whiskering operations can be defined by the [acion on identifications](foundation.action-on-identifications-functions.md) of concatenation. Since concatenation on either side is an [equivalence](foundation-core.equivalences.md), it follows that the whiskering operations are equivalences. ## Properties ### Left whiskering of identifications is an equivalence ```agda module _ {l : Level} {A : UU l} {x y z : A} (p : x = y) {q q' : y = z} where is-equiv-left-whisker-concat : is-equiv (left-whisker-concat p {q} {q'}) is-equiv-left-whisker-concat = is-emb-is-equiv (is-equiv-concat p z) q q' equiv-left-whisker-concat : (q = q') ≃ (p ∙ q = p ∙ q') pr1 equiv-left-whisker-concat = left-whisker-concat p pr2 equiv-left-whisker-concat = is-equiv-left-whisker-concat ``` ### Right whiskering of identification is an equivalence ```agda module _ {l : Level} {A : UU l} {x y z : A} {p p' : x = y} (q : y = z) where is-equiv-right-whisker-concat : is-equiv (λ (α : p = p') → right-whisker-concat α q) is-equiv-right-whisker-concat = is-emb-is-equiv (is-equiv-concat' x q) p p' equiv-right-whisker-concat : (p = p') ≃ (p ∙ q = p' ∙ q) pr1 equiv-right-whisker-concat α = right-whisker-concat α q pr2 equiv-right-whisker-concat = is-equiv-right-whisker-concat ```