# Morphisms of cospans
```agda
module foundation.morphisms-cospans where
```
<details><summary>Imports</summary>
```agda
open import foundation.cartesian-product-types
open import foundation.cospans
open import foundation.dependent-pair-types
open import foundation.universe-levels
open import foundation-core.commuting-triangles-of-maps
```
</details>
## Idea
Consider two [cospans](foundation.cospans.md) `c := (X , f , g)` and
`d := (Y , h , k)` from `A` to `B`. A
{{#concept "morphism of cospans" Agda=hom-cospan}} from `c` to `d` consists of a
map `u : X → Y` equipped with [homotopies](foundation-core.homotopies.md)
witnessing that the two triangles
```text
u u
X ----> Y X ----> Y
\ / \ /
f \ / h g \ / k
∨ ∨ ∨ ∨
A B
```
[commute](foundation.commuting-triangles-of-maps.md).
## Definitions
### Morphisms of cospans
```agda
module _
{l1 l2 l3 l4 : Level} {A : UU l1} {B : UU l2}
(c : cospan l3 A B) (d : cospan l4 A B)
where
coherence-hom-cospan :
(codomain-cospan c → codomain-cospan d) → UU (l1 ⊔ l2 ⊔ l4)
coherence-hom-cospan h =
( coherence-triangle-maps (left-map-cospan d) h (left-map-cospan c)) ×
( coherence-triangle-maps (right-map-cospan d) h (right-map-cospan c))
hom-cospan : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
hom-cospan =
Σ ( codomain-cospan c → codomain-cospan d)
( coherence-hom-cospan)
```