Morphisms of cospan diagrams

Content created by Egbert Rijke and Fredrik Bakke.

Created on 2024-01-28.
Last modified on 2024-10-27.

module foundation.morphisms-cospan-diagrams where
Imports
open import foundation.cospan-diagrams
open import foundation.dependent-pair-types
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition

open import foundation-core.cartesian-product-types
open import foundation-core.function-types
open import foundation-core.homotopies

Idea

A morphism of cospan diagrams is a commuting diagram of the form

  A -----> X <----- B
  |        |        |
  |        |        |
  ∨        ∨        ∨
  A' ----> X' <---- B'.

Definitions

Morphisms of cospan diagrams

hom-cospan-diagram :
  {l1 l2 l3 l1' l2' l3' : Level} 
  cospan-diagram l1 l2 l3 
  cospan-diagram l1' l2' l3' 
  UU (l1  l2  l3  l1'  l2'  l3')
hom-cospan-diagram (A , B , X , f , g) (A' , B' , X' , f' , g') =
  Σ ( A  A')
    ( λ hA 
      Σ ( B  B')
        ( λ hB 
          Σ ( X  X')
            ( λ hX  (f'  hA ~ hX  f) × (g'  hB ~ hX  g))))

module _
  {l1 l2 l3 l1' l2' l3' : Level}
  (𝒮 : cospan-diagram l1 l2 l3)
  (𝒯 : cospan-diagram l1' l2' l3')
  (h : hom-cospan-diagram 𝒮 𝒯)
  where

  left-map-hom-cospan-diagram :
    left-type-cospan-diagram 𝒮  left-type-cospan-diagram 𝒯
  left-map-hom-cospan-diagram = pr1 h

  right-map-hom-cospan-diagram :
    right-type-cospan-diagram 𝒮  right-type-cospan-diagram 𝒯
  right-map-hom-cospan-diagram = pr1 (pr2 h)

  cospanning-map-hom-cospan-diagram :
    cospanning-type-cospan-diagram 𝒮  cospanning-type-cospan-diagram 𝒯
  cospanning-map-hom-cospan-diagram = pr1 (pr2 (pr2 h))

  left-square-hom-cospan-diagram :
    left-map-cospan-diagram 𝒯  left-map-hom-cospan-diagram ~
    cospanning-map-hom-cospan-diagram  left-map-cospan-diagram 𝒮
  left-square-hom-cospan-diagram = pr1 (pr2 (pr2 (pr2 h)))

  right-square-hom-cospan-diagram :
    right-map-cospan-diagram 𝒯  right-map-hom-cospan-diagram ~
    cospanning-map-hom-cospan-diagram  right-map-cospan-diagram 𝒮
  right-square-hom-cospan-diagram = pr2 (pr2 (pr2 (pr2 h)))

Identity morphisms of cospan diagrams

id-hom-cospan-diagram :
  {l1 l2 l3 : Level} (𝒮 : cospan-diagram l1 l2 l3)  hom-cospan-diagram 𝒮 𝒮
id-hom-cospan-diagram 𝒮 = (id , id , id , refl-htpy , refl-htpy)

Composition of morphisms of cospan diagrams

module _
  {l1 l2 l3 l1' l2' l3' l1'' l2'' l3'' : Level}
  (𝒮 : cospan-diagram l1 l2 l3)
  (𝒯 : cospan-diagram l1' l2' l3')
  ( : cospan-diagram l1'' l2'' l3'')
  where

  comp-hom-cospan-diagram :
    hom-cospan-diagram 𝒯  
    hom-cospan-diagram 𝒮 𝒯 
    hom-cospan-diagram 𝒮 
  comp-hom-cospan-diagram (hA , hB , hX , H , K) (hA' , hB' , hX' , H' , K') =
    ( hA  hA' , hB  hB' , hX  hX' ,
      H ·r hA' ∙h hX ·l H' , K ·r hB' ∙h hX ·l K')

Rotating cospan diagrams of cospan diagrams

module _
  {l1 l2 l3 l1' l2' l3' l1'' l2'' l3'' : Level}
  (𝒮 : cospan-diagram l1 l2 l3)
  (𝒯 : cospan-diagram l1' l2' l3')
  ( : cospan-diagram l1'' l2'' l3'')
  where

  codomain-hom-cospan-diagram-rotate :
    (h : hom-cospan-diagram 𝒯 𝒮) (h' : hom-cospan-diagram  𝒮) 
    cospan-diagram l3' l3'' l3
  codomain-hom-cospan-diagram-rotate h h' =
    ( cospanning-type-cospan-diagram 𝒯 ,
      cospanning-type-cospan-diagram  ,
      cospanning-type-cospan-diagram 𝒮 ,
      cospanning-map-hom-cospan-diagram 𝒯 𝒮 h ,
      cospanning-map-hom-cospan-diagram  𝒮 h')

  hom-cospan-diagram-rotate :
    (h : hom-cospan-diagram 𝒯 𝒮) (h' : hom-cospan-diagram  𝒮) 
    hom-cospan-diagram
      ( left-type-cospan-diagram 𝒯 ,
        left-type-cospan-diagram  ,
        left-type-cospan-diagram 𝒮 ,
        left-map-hom-cospan-diagram 𝒯 𝒮 h ,
        left-map-hom-cospan-diagram  𝒮 h')
      ( codomain-hom-cospan-diagram-rotate h h')
  hom-cospan-diagram-rotate
    ( hA , hB , hX , HA , HB)
    ( hA' , hB' , hX' , HA' , HB') =
    ( left-map-cospan-diagram 𝒯 ,
      left-map-cospan-diagram  ,
      left-map-cospan-diagram 𝒮 ,
      inv-htpy HA ,
      inv-htpy HA')

  hom-cospan-diagram-rotate' :
    (h : hom-cospan-diagram 𝒯 𝒮) (h' : hom-cospan-diagram  𝒮) 
    hom-cospan-diagram
      ( right-type-cospan-diagram 𝒯 ,
        right-type-cospan-diagram  ,
        right-type-cospan-diagram 𝒮 ,
        right-map-hom-cospan-diagram 𝒯 𝒮 h ,
        right-map-hom-cospan-diagram  𝒮 h')
      ( codomain-hom-cospan-diagram-rotate h h')
  hom-cospan-diagram-rotate'
    ( hA , hB , hX , HA , HB)
    ( hA' , hB' , hX' , HA' , HB') =
    ( right-map-cospan-diagram 𝒯 ,
      right-map-cospan-diagram  ,
      right-map-cospan-diagram 𝒮 ,
      inv-htpy HB ,
      inv-htpy HB')

Recent changes