# Commuting pentagons of identifications ```agda module foundation.commuting-pentagons-of-identifications where ``` <details><summary>Imports</summary> ```agda open import foundation.action-on-identifications-functions open import foundation.universe-levels open import foundation-core.identity-types ``` </details> ## Idea A pentagon of [identifications](foundation-core.identity-types.md) ```text top x --- y top-left / \ top-right / \ z w \ / bottom-left \ / bottom-right v ``` is said to **commute** if there is an identification ```text top-left ∙ bottom-left = (top ∙ top-right) ∙ bottom-right. ``` Such an identification is called a **coherence** of the pentagon. ## Definitions ### Commuting pentagons of identifications ```agda module _ {l : Level} {A : UU l} {x y z w v : A} where coherence-pentagon-identifications : (top : x = y) (top-left : x = z) (top-right : y = w) (bottom-left : z = v) (bottom-right : w = v) → UU l coherence-pentagon-identifications top top-left top-right bottom-left bottom-right = top-left ∙ bottom-left = (top ∙ top-right) ∙ bottom-right ``` ### Reflections of commuting pentagons of identifications A pentagon may be reflected along an axis connecting an edge with its opposing vertex. For example, we may reflect a pentagon ```text top x --- y top-left / \ top-right / \ z w \ / bottom-left \ / bottom-right v ``` along the axis connecting `top` and `v` to get ```text top⁻¹ y --- x top-right / \ top-left / \ w z \ / bottom-right \ / bottom-left v . ``` The reflections are named after the edge which the axis passes through, so the above example is `reflect-top-coherence-pentagon-identifications`. ```agda module _ {l : Level} {A : UU l} {x y z w v : A} where reflect-top-coherence-pentagon-identifications : (top : x = y) (top-left : x = z) (top-right : y = w) (bottom-left : z = v) (bottom-right : w = v) → coherence-pentagon-identifications ( top) ( top-left) ( top-right) ( bottom-left) ( bottom-right) → coherence-pentagon-identifications ( inv top) ( top-right) ( top-left) ( bottom-right) ( bottom-left) reflect-top-coherence-pentagon-identifications refl top-left top-right bottom-left bottom-right H = inv H reflect-top-left-coherence-pentagon-identifications : (top : x = y) (top-left : x = z) (top-right : y = w) (bottom-left : z = v) (bottom-right : w = v) → coherence-pentagon-identifications ( top) ( top-left) ( top-right) ( bottom-left) ( bottom-right) → coherence-pentagon-identifications ( bottom-left) ( inv top-left) ( inv bottom-right) ( top) ( inv top-right) reflect-top-left-coherence-pentagon-identifications refl refl refl bottom-left refl H = inv (right-unit ∙ right-unit ∙ H) reflect-top-right-coherence-pentagon-identifications : (top : x = y) (top-left : x = z) (top-right : y = w) (bottom-left : z = v) (bottom-right : w = v) → coherence-pentagon-identifications ( top) ( top-left) ( top-right) ( bottom-left) ( bottom-right) → coherence-pentagon-identifications ( inv bottom-right) ( inv bottom-left) ( inv top-right) ( inv top-left) ( inv top) reflect-top-right-coherence-pentagon-identifications refl top-left refl refl refl H = ap inv (inv right-unit ∙ H) reflect-bottom-left-coherence-pentagon-identifications : (top : x = y) (top-left : x = z) (top-right : y = w) (bottom-left : z = v) (bottom-right : w = v) → coherence-pentagon-identifications ( top) ( top-left) ( top-right) ( bottom-left) ( bottom-right) → coherence-pentagon-identifications ( inv top-right) ( bottom-right) ( inv top) ( inv bottom-left) ( top-left) reflect-bottom-left-coherence-pentagon-identifications refl refl refl refl bottom-right H = right-unit ∙ inv H reflect-bottom-right-coherence-pentagon-identifications : (top : x = y) (top-left : x = z) (top-right : y = w) (bottom-left : z = v) (bottom-right : w = v) → coherence-pentagon-identifications ( top) ( top-left) ( top-right) ( bottom-left) ( bottom-right) → coherence-pentagon-identifications ( bottom-left) ( inv top-left) ( inv bottom-right) ( top) ( inv top-right) reflect-bottom-right-coherence-pentagon-identifications refl refl refl bottom-left refl H = inv (right-unit ∙ right-unit ∙ H) ```