Pullback cones

Content created by Fredrik Bakke.

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

module foundation.pullback-cones where
Imports
open import foundation.action-on-identifications-functions
open import foundation.cones-over-cospan-diagrams
open import foundation.cospan-diagrams
open import foundation.dependent-pair-types
open import foundation.dependent-universal-property-equivalences
open import foundation.function-extensionality
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
open import foundation.homotopy-induction
open import foundation.identity-types
open import foundation.multivariable-homotopies
open import foundation.standard-pullbacks
open import foundation.structure-identity-principle
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition

open import foundation-core.commuting-squares-of-maps
open import foundation-core.contractible-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.pullbacks
open import foundation-core.retractions
open import foundation-core.sections
open import foundation-core.torsorial-type-families
open import foundation-core.transport-along-identifications
open import foundation-core.universal-property-pullbacks
open import foundation-core.whiskering-identifications-concatenation

Idea

A cone 𝑐 over a cospan diagram A -f-> X <-g- B with domain C is a pullback cone if its gap map

  C → standard-pullback f g

is an equivalence. This is known as the small predicate of being a pullback.

Definitions

Pullback cones

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

  pullback-cone : (l4 : Level)  UU (l1  l2  l3  lsuc l4)
  pullback-cone l4 =
    Σ ( Σ ( UU l4)
          ( λ C 
            cone (left-map-cospan-diagram 𝒮) (right-map-cospan-diagram 𝒮) C))
      ( λ (C , c) 
        is-pullback (left-map-cospan-diagram 𝒮) (right-map-cospan-diagram 𝒮) c)

module _
  {l1 l2 l3 l4 : Level} (𝒮 : cospan-diagram l1 l2 l3) (c : pullback-cone 𝒮 l4)
  where

  domain-pullback-cone : UU l4
  domain-pullback-cone = pr1 (pr1 c)

  cone-pullback-cone :
    cone
      ( left-map-cospan-diagram 𝒮)
      ( right-map-cospan-diagram 𝒮)
      ( domain-pullback-cone)
  cone-pullback-cone = pr2 (pr1 c)

  vertical-map-pullback-cone :
    domain-pullback-cone  left-type-cospan-diagram 𝒮
  vertical-map-pullback-cone =
    vertical-map-cone
      ( left-map-cospan-diagram 𝒮)
      ( right-map-cospan-diagram 𝒮)
      ( cone-pullback-cone)

  horizontal-map-pullback-cone :
    domain-pullback-cone  right-type-cospan-diagram 𝒮
  horizontal-map-pullback-cone =
    horizontal-map-cone
      ( left-map-cospan-diagram 𝒮)
      ( right-map-cospan-diagram 𝒮)
      ( cone-pullback-cone)

  coherence-square-pullback-cone :
    coherence-square-maps
      ( horizontal-map-pullback-cone)
      ( vertical-map-pullback-cone)
      ( right-map-cospan-diagram 𝒮)
      ( left-map-cospan-diagram 𝒮)
  coherence-square-pullback-cone =
    coherence-square-cone
      ( left-map-cospan-diagram 𝒮)
      ( right-map-cospan-diagram 𝒮)
      ( cone-pullback-cone)

  is-pullback-pullback-cone :
    is-pullback
      ( left-map-cospan-diagram 𝒮)
      ( right-map-cospan-diagram 𝒮)
      ( cone-pullback-cone)
  is-pullback-pullback-cone = pr2 c

  up-pullback-cone :
    universal-property-pullback
      ( left-map-cospan-diagram 𝒮)
      ( right-map-cospan-diagram 𝒮)
      ( cone-pullback-cone)
  up-pullback-cone =
    universal-property-pullback-is-pullback
      ( left-map-cospan-diagram 𝒮)
      ( right-map-cospan-diagram 𝒮)
      ( cone-pullback-cone)
      ( is-pullback-pullback-cone)

  gap-standard-pullback-pullback-cone :
    domain-pullback-cone 
    standard-pullback (left-map-cospan-diagram 𝒮) (right-map-cospan-diagram 𝒮)
  gap-standard-pullback-pullback-cone =
    gap
      ( left-map-cospan-diagram 𝒮)
      ( right-map-cospan-diagram 𝒮)
      ( cone-pullback-cone)

  map-inv-gap-standard-pullback-pullback-cone :
    standard-pullback (left-map-cospan-diagram 𝒮) (right-map-cospan-diagram 𝒮) 
    domain-pullback-cone
  map-inv-gap-standard-pullback-pullback-cone =
    map-inv-is-equiv is-pullback-pullback-cone

  is-section-map-inv-gap-standard-pullback-pullback-cone :
    is-section
      ( gap-standard-pullback-pullback-cone)
      ( map-inv-gap-standard-pullback-pullback-cone)
  is-section-map-inv-gap-standard-pullback-pullback-cone =
    is-section-map-inv-is-equiv is-pullback-pullback-cone

  is-retraction-map-inv-gap-standard-pullback-pullback-cone :
    is-retraction
      ( gap-standard-pullback-pullback-cone)
      ( map-inv-gap-standard-pullback-pullback-cone)
  is-retraction-map-inv-gap-standard-pullback-pullback-cone =
    is-retraction-map-inv-is-equiv is-pullback-pullback-cone

Horizontal pasting of pullback cones

module _
  {l1 l2 l3 l4 l5 l6 : Level}
  {C : UU l3} {X : UU l4} {Y : UU l5} {Z : UU l6}
  (i : X  Y) (j : Y  Z) (h : C  Z)
  where

  pasting-horizontal-pullback-cone :
    (c : pullback-cone (Y , C , Z , j , h) l1) 
    pullback-cone
      ( X , domain-pullback-cone (Y , C , Z , j , h) c , Y , i ,
        vertical-map-pullback-cone (Y , C , Z , j , h) c)
      ( l2) 
    pullback-cone (X , C , Z , j  i , h) l2
  pasting-horizontal-pullback-cone ((A , a) , pb-A) ((B , b) , pb-B) =
    ( B , pasting-horizontal-cone i j h a b) ,
    ( is-pullback-rectangle-is-pullback-left-square i j h a b pb-A pb-B)

Vertical pasting of pullback cones

module _
  {l1 l2 l3 l4 l5 l6 : Level}
  {C : UU l3} {X : UU l4} {Y : UU l5} {Z : UU l6}
  (f : C  Z) (g : Y  Z) (h : X  Y)
  where

  pasting-vertical-pullback-cone :
    (c : pullback-cone (C , Y , Z , f , g) l1) 
    pullback-cone
      ( domain-pullback-cone (C , Y , Z , f , g) c , X , Y ,
        horizontal-map-pullback-cone (C , Y , Z , f , g) c , h) l2 
    pullback-cone (C , X , Z , f , g  h) l2
  pasting-vertical-pullback-cone ((A , a) , pb-A) ((B , b) , pb-B) =
    ( B , pasting-vertical-cone f g h a b) ,
    ( is-pullback-rectangle-is-pullback-top-square f g h a b pb-A pb-B)

The swapping function on pullback cones

swap-pullback-cone :
  {l1 l2 l3 l4 : Level} (𝒮 : cospan-diagram l1 l2 l3) 
  pullback-cone 𝒮 l4 
  pullback-cone (swap-cospan-diagram 𝒮) l4
swap-pullback-cone 𝒮 ((C , c) , pb-C) =
  ( C , swap-cone (left-map-cospan-diagram 𝒮) (right-map-cospan-diagram 𝒮) c) ,
  ( is-pullback-swap-cone
    ( left-map-cospan-diagram 𝒮)
    ( right-map-cospan-diagram 𝒮)
    ( c)
    ( pb-C))

The identity pullback cone over the identity cospan diagram

id-pullback-cone :
  {l : Level} (A : UU l)  pullback-cone (id-cospan-diagram A) l
id-pullback-cone A = ((A , id-cone A) , is-pullback-id-cone A)

Table of files about pullbacks

The following table lists files that are about pullbacks as a general concept.

ConceptFile
Cospan diagramsfoundation.cospans
Morphisms of cospan diagramsfoundation.morphisms-cospans
Cones over cospan diagramsfoundation.cones-over-cospan-diagrams
The universal property of pullbacks (foundation-core)foundation-core.universal-property-pullbacks
The universal property of pullbacks (foundation)foundation.universal-property-pullbacks
The universal property of fiber productsfoundation.universal-property-fiber-products
Standard pullbacksfoundation.standard-pullbacks
Pullbacks (foundation-core)foundation-core.pullbacks
Pullbacks (foundation)foundation.pullbacks
Pullback conesfoundation.pullback-cones
Functoriality of pullbacksfoundation.functoriality-pullbacks
Cartesian morphisms of arrowsfoundation.cartesian-morphisms-arrows
Dependent products of pullbacksfoundation.dependent-products-pullbacks
Dependent sums of pullbacksfoundation.dependent-sums-pullbacks
Products of pullbacksfoundation.products-pullbacks
Coroducts of pullbacksfoundation.coproducts-pullbacks
Postcomposition of pullbacksfoundation.postcomposition-pullbacks
Pullbacks of subtypesfoundation.pullbacks-subtypes
The pullback-homorthogonal-factorization-systems.pullback-hom
Functoriality of the pullback-homorthogonal-factorization-systems.functoriality-pullback-hom
Pullbacks in precategoriescategory-theory.pullbacks-in-precategories

Recent changes