# Commuting tetrahedra of maps
```agda
module foundation.commuting-tetrahedra-of-maps where
```
<details><summary>Imports</summary>
```agda
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
open import foundation-core.commuting-triangles-of-maps
open import foundation-core.homotopies
```
</details>
## Idea
A {{#concept "commuting tetrahedron of maps" Agda=coherence-tetrahedron-maps}}
is a commuting diagram of the form
```text
A ----------> B
| \ ∧ |
| \ / |
| / |
| / \ |
∨ / ∨ ∨
X ----------> Y.
```
## Definition
```agda
module _
{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)
(diagonal-up : X → B) (diagonal-down : A → Y)
(upper-left : coherence-triangle-maps top diagonal-up left)
(lower-right : coherence-triangle-maps bottom right diagonal-up)
(upper-right : coherence-triangle-maps diagonal-down right top)
(lower-left : coherence-triangle-maps diagonal-down bottom left)
where
coherence-tetrahedron-maps : UU (l1 ⊔ l4)
coherence-tetrahedron-maps =
( upper-right ∙h (right ·l upper-left)) ~
( lower-left ∙h (lower-right ·r left))
coherence-tetrahedron-maps' : UU (l1 ⊔ l4)
coherence-tetrahedron-maps' =
( lower-left ∙h (lower-right ·r left)) ~
( upper-right ∙h (right ·l upper-left))
```