# Cospan diagrams ```agda module foundation.cospan-diagrams where ``` <details><summary>Imports</summary> ```agda open import foundation.cospans open import foundation.dependent-pair-types open import foundation.universe-levels ``` </details> ## Idea A {{#concept "cospan diagram" Agda=cospan-diagram}} consists of two types `A` and `B` and a [cospan](foundation.cospans.md) `A -f-> X <-g- B` between them. ## Definitions ```agda cospan-diagram : (l1 l2 l3 : Level) → UU (lsuc l1 ⊔ lsuc l2 ⊔ lsuc l3) cospan-diagram l1 l2 l3 = Σ (UU l1) (λ A → Σ (UU l2) (cospan l3 A)) module _ {l1 l2 l3 : Level} (c : cospan-diagram l1 l2 l3) where left-type-cospan-diagram : UU l1 left-type-cospan-diagram = pr1 c right-type-cospan-diagram : UU l2 right-type-cospan-diagram = pr1 (pr2 c) cospan-cospan-diagram : cospan l3 left-type-cospan-diagram right-type-cospan-diagram cospan-cospan-diagram = pr2 (pr2 c) ```