# Commuting squares of morphisms in precategories ```agda module category-theory.commuting-squares-of-morphisms-in-precategories where ``` <details><summary>Imports</summary> ```agda open import category-theory.commuting-squares-of-morphisms-in-set-magmoids open import category-theory.precategories open import foundation.universe-levels ``` </details> ## Idea A square of morphisms ```text x ------> y | | | | ∨ ∨ z ------> w ``` in a [precategory](category-theory.precategories.md) `C` is said to **commute** if there is an [identification](foundation-core.identity-types.md) between both composites: ```text bottom ∘ left = right ∘ top. ``` ## Definitions ```agda coherence-square-hom-Precategory : {l1 l2 : Level} (C : Precategory l1 l2) {x y z w : obj-Precategory C} (top : hom-Precategory C x y) (left : hom-Precategory C x z) (right : hom-Precategory C y w) (bottom : hom-Precategory C z w) → UU l2 coherence-square-hom-Precategory C = coherence-square-hom-Set-Magmoid (set-magmoid-Precategory C) ```