# Commuting tetrahedra of maps

Content created by Fredrik Bakke and Egbert Rijke.

Created on 2024-01-11.

module foundation.commuting-tetrahedra-of-maps where

Imports
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition

open import foundation-core.commuting-triangles-of-maps
open import foundation-core.homotopies


## Idea

A commuting tetrahedron of maps is a commuting diagram of the form

  A ----------> B
|  \       ∧  |
|    \   /    |
|      /      |
|    /   \    |
∨  /       ∨  ∨
X ----------> Y.


## Definition

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))