# Commuting tetrahedra of homotopies
```agda
module foundation.commuting-tetrahedra-of-homotopies where
```
<details><summary>Imports</summary>
```agda
open import foundation.commuting-triangles-of-homotopies
open import foundation.universe-levels
open import foundation-core.homotopies
```
</details>
## Idea
A
{{#concept "commuting tetrahedron of homotopies" Agda=coherence-tetrahedron-homotopies}}
is a commuting diagram of the form
```text
top
f ----------> g
| \ ∧ |
| \ / |
left | / | right
| / \ |
∨ / ∨ ∨
h ----------> i.
bottom
```
where `f`, `g`, `h`, and `i` are functions.
## Definition
```agda
module _
{l1 l2 : Level} {A : UU l1} {B : A → UU l2}
{f g h i : (x : A) → B x}
(top : f ~ g) (left : f ~ h) (right : g ~ i) (bottom : h ~ i)
(diagonal-up : h ~ g) (diagonal-down : f ~ i)
(upper-left : coherence-triangle-homotopies top diagonal-up left)
(lower-right : coherence-triangle-homotopies bottom right diagonal-up)
(upper-right : coherence-triangle-homotopies diagonal-down right top)
(lower-left : coherence-triangle-homotopies diagonal-down bottom left)
where
coherence-tetrahedron-homotopies : UU (l1 ⊔ l2)
coherence-tetrahedron-homotopies =
( ( upper-right) ∙h
( right-whisker-concat-coherence-triangle-homotopies
( top)
( diagonal-up)
( left)
( upper-left)
( right))) ~
( ( lower-left) ∙h
( left-whisker-concat-coherence-triangle-homotopies
( left)
( bottom)
( right)
( diagonal-up)
( lower-right)) ∙h
( assoc-htpy left diagonal-up right))
coherence-tetrahedron-homotopies' : UU (l1 ⊔ l2)
coherence-tetrahedron-homotopies' =
( ( lower-left) ∙h
( left-whisker-concat-coherence-triangle-homotopies
( left)
( bottom)
( right)
( diagonal-up)
( lower-right)) ∙h
( assoc-htpy left diagonal-up right)) ~
( ( upper-right) ∙h
( right-whisker-concat-coherence-triangle-homotopies
( top)
( diagonal-up)
( left)
( upper-left)
( right)))
```