Documentation

Mathlib.CategoryTheory.Bicategory.Span.Basic

Bicategories of spans in a category #

In this file, given a category C and two morphism properties Wₗ and Wᵣ in C that are stable under compositions, contain identities and such that for any morphism b : x₃ ⟶ x₄ in Wₗ and any morphism r : x₂ ⟶ x₃ in Wᵣ, there exists a pullback square

     t
  x₁ --> x₂
  |      |
l |      | r
  v      v
  x₃ --> x₄
     b

in C such that t satisfies Wₗ and l satisfies Wᵣ, we construct the bicategory of spans in C with left morphism in Wₗ and right morphism in Wᵣ.

structure CategoryTheory.Span {C : Type u_1} [Category.{v_1, u_1} C] (Wₗ Wᵣ : MorphismProperty C) (c c' : C) :
Type (max u_1 v_1)

A (Wₗ, Wᵣ)-span from c to c' is the data of an object a : C, together with a morphism a ⟶ c in Wₗ, and a morphism a ⟶ c' in Wᵣ.

  • apex : C

    the apex of the span

  • l : self.apex c

    the left map

  • r : self.apex c'

    the right map

  • wl : Wₗ self.l
  • wr : Wᵣ self.r
Instances For
    structure CategoryTheory.Span.Hom {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} (S₁ S₂ : Span Wₗ Wᵣ c c') :
    Type v_1

    A morphism of spans is a morphism between the apices compatible with the projections.

    Instances For
      @[simp]
      theorem CategoryTheory.Span.Hom.hom_r_assoc {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} {S₁ S₂ : Span Wₗ Wᵣ c c'} (self : S₁.Hom S₂) {Z : C} (h : c' Z) :
      @[simp]
      theorem CategoryTheory.Span.Hom.hom_l_assoc {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} {S₁ S₂ : Span Wₗ Wᵣ c c'} (self : S₁.Hom S₂) {Z : C} (h : c Z) :
      @[instance_reducible]
      instance CategoryTheory.Span.instCategory {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} :
      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem CategoryTheory.Span.id_hom {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} (S : Span Wₗ Wᵣ c c') :
      @[simp]
      theorem CategoryTheory.Span.comp_hom {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} {X✝ Y✝ Z✝ : Span Wₗ Wᵣ c c'} (φ : X✝.Hom Y✝) (φ' : Y✝.Hom Z✝) :
      theorem CategoryTheory.Span.hom_ext {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} {S S' : Span Wₗ Wᵣ c c'} {f g : S S'} (h : f.hom = g.hom) :
      f = g
      theorem CategoryTheory.Span.hom_ext_iff {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} {S S' : Span Wₗ Wᵣ c c'} {f g : S S'} :
      f = g f.hom = g.hom
      @[implicit_reducible]
      def CategoryTheory.Span.mkIso {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} {S S' : Span Wₗ Wᵣ c c'} (e : S.apex S'.apex) (hₗ : CategoryStruct.comp e.hom S'.l = S.l := by cat_disch) (hᵣ : CategoryStruct.comp e.hom S'.r = S.r := by cat_disch) :
      S S'

      Construct an isomorphism of spans from an isomorphism between the apices that is compatible with the projections.

      Equations
      Instances For
        @[simp]
        theorem CategoryTheory.Span.mkIso_inv_hom {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} {S S' : Span Wₗ Wᵣ c c'} (e : S.apex S'.apex) (hₗ : CategoryStruct.comp e.hom S'.l = S.l := by cat_disch) (hᵣ : CategoryStruct.comp e.hom S'.r = S.r := by cat_disch) :
        (mkIso e hₗ hᵣ).inv.hom = e.inv
        @[simp]
        theorem CategoryTheory.Span.mkIso_hom_hom {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} {c c' : C} {S S' : Span Wₗ Wᵣ c c'} (e : S.apex S'.apex) (hₗ : CategoryStruct.comp e.hom S'.l = S.l := by cat_disch) (hᵣ : CategoryStruct.comp e.hom S'.r = S.r := by cat_disch) :
        (mkIso e hₗ hᵣ).hom.hom = e.hom
        instance CategoryTheory.Span.instHasPullbackRL {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.HasPullbacksAgainst Wᵣ] {c c' c'' : C} (S₁ : Span Wₗ Wᵣ c c') (S₂ : Span Wₗ Wᵣ c' c'') :
        @[implicit_reducible]
        def CategoryTheory.Span.id {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] (c : C) :
        Span Wₗ Wᵣ c c

        The identity span, where both legs are identity morphisms.

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.Span.id_apex {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] (c : C) :
          (id c).apex = c
          @[simp]
          @[simp]
          @[implicit_reducible]
          noncomputable def CategoryTheory.Span.comp {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {c c' c'' : C} (S₁ : Span Wₗ Wᵣ c c') (S₂ : Span Wₗ Wᵣ c' c'') :
          Span Wₗ Wᵣ c c''

          The composition of two spans: if the relevant pullback exists and if the morphism properties are stable under the relevant base change, it is given by the total span

               P
              /  \
             /    \
            X₁     X₂
           /  \   /  \
          c     c'    c''
          

          where the top diamond is a pullback square

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.Span.comp_r {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {c c' c'' : C} (S₁ : Span Wₗ Wᵣ c c') (S₂ : Span Wₗ Wᵣ c' c'') :
            (S₁.comp S₂).r = CategoryStruct.comp (Limits.pullback.snd S₁.r S₂.l) S₂.r
            @[simp]
            theorem CategoryTheory.Span.comp_apex {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {c c' c'' : C} (S₁ : Span Wₗ Wᵣ c c') (S₂ : Span Wₗ Wᵣ c' c'') :
            (S₁.comp S₂).apex = Limits.pullback S₁.r S₂.l
            @[simp]
            theorem CategoryTheory.Span.comp_l {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {c c' c'' : C} (S₁ : Span Wₗ Wᵣ c c') (S₂ : Span Wₗ Wᵣ c' c'') :
            (S₁.comp S₂).l = CategoryStruct.comp (Limits.pullback.fst S₁.r S₂.l) S₁.l
            structure CategoryTheory.Span.SpanBicat (C : Type u_1) [Category.{v_1, u_1} C] (Wₗ Wᵣ : MorphismProperty C) :
            Type u_1

            The bicategory of spans of C with left/right legs satisfying given morphism properties. This is a one-field structure wrapper around C.

            • of : C

              the underlying object of C of a term in SpanBicat C _ _

            Instances For
              @[instance_reducible]
              Equations
              • One or more equations did not get rendered due to their size.
              @[instance_reducible]
              Equations
              • One or more equations did not get rendered due to their size.
              @[reducible, inline]
              abbrev CategoryTheory.Span.SpanBicat.mkHom {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y : SpanBicat C Wₗ Wᵣ} {apex : C} (l : apex X.of) (r : apex Y.of) (wl : Wₗ l) (wr : Wᵣ r) :
              X Y

              Constructor for 1-morphisms in SpanBicat C _ _

              Equations
              Instances For
                @[implicit_reducible]
                def CategoryTheory.Span.SpanBicat.mkHom₂ {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y : SpanBicat C Wₗ Wᵣ} {S S' : X Y} (e : S.apex S'.apex) (hₗ : CategoryStruct.comp e S'.l = S.l := by cat_disch) (hᵣ : CategoryStruct.comp e S'.r = S.r := by cat_disch) :
                S S'

                Constructor for 2-morphisms in SpanBicat C _ _

                Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.Span.SpanBicat.mkHom₂_hom {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y : SpanBicat C Wₗ Wᵣ} {S S' : X Y} (e : S.apex S'.apex) (hₗ : CategoryStruct.comp e S'.l = S.l := by cat_disch) (hᵣ : CategoryStruct.comp e S'.r = S.r := by cat_disch) :
                  (mkHom₂ e hₗ hᵣ).hom = e
                  @[reducible, inline]
                  abbrev CategoryTheory.Span.SpanBicat.mkIso₂ {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y : SpanBicat C Wₗ Wᵣ} {S S' : X Y} (e : S.apex S'.apex) (hₗ : CategoryStruct.comp e.hom S'.l = S.l := by cat_disch) (hᵣ : CategoryStruct.comp e.hom S'.r = S.r := by cat_disch) :
                  S S'

                  Constructor for 2-isomorphisms in SpanBicat C _ _

                  Equations
                  Instances For

                    The goal of this section is to abstract as much as possible the fact that the composition uses an arbitrary pullback, and provides some "proxy" for working with the fact that apices of compositions of spans are pullbacks.

                    This way, if spans ever get refactored in a way that uses chosen pullbacks instead of arbitrary ones, most downstream applications will not be affected as long as they are careful to use the API provided here.

                    The primitives of this API are the data of the two projections πₗ : (S₁ ≫ S₂).apex ⟶ S₁.apex and πᵣ : (S₁ ≫ S₂).apex ⟶ S₂.apex, the equalities (S₁ ≫ S₂).l = πₗ ≫ S₁.l and (S₁ ≫ S₂).r = πᵣ ≫ S₂.r, the commutative square πₗ ≫ S₁.r = πᵣ ≫ S₂.l and the fact that this defines a pullback square.

                    noncomputable def CategoryTheory.Span.SpanBicat.πₗ {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} (S₁ : X Y) (S₂ : Y Z) :
                    (CategoryStruct.comp S₁ S₂).apex S₁.apex

                    The left projection πₗ : (S₁ ≫ S₂).apex ⟶ S₁.apex.

                    Equations
                    Instances For
                      noncomputable def CategoryTheory.Span.SpanBicat.πᵣ {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} (S₁ : X Y) (S₂ : Y Z) :
                      (CategoryStruct.comp S₁ S₂).apex S₂.apex

                      The right projection πᵣ : (S₁ ≫ S₂).apex ⟶ S₂.apex.

                      Equations
                      Instances For
                        @[simp]
                        @[simp]
                        @[simp]
                        theorem CategoryTheory.Span.SpanBicat.comp_comm {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} (S₁ : X Y) (S₂ : Y Z) :
                        CategoryStruct.comp (πₗ S₁ S₂) S₁.r = CategoryStruct.comp (πᵣ S₁ S₂) S₂.l
                        @[simp]
                        theorem CategoryTheory.Span.SpanBicat.comp_comm_assoc {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} (S₁ : X Y) (S₂ : Y Z) {Z✝ : C} (h : Y.of Z✝) :
                        @[implicit_reducible]

                        The pullback cone that defines the apex for the composition of spans.

                        Equations
                        Instances For

                          The pullback cone that defines the apex for the composition of spans is a limit cone.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem CategoryTheory.Span.SpanBicat.comp_hom_ext_apex {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {c : C} {f g : c (CategoryStruct.comp S₁ S₂).apex} (hₗ : CategoryStruct.comp f (πₗ S₁ S₂) = CategoryStruct.comp g (πₗ S₁ S₂)) (hᵣ : CategoryStruct.comp f (πᵣ S₁ S₂) = CategoryStruct.comp g (πᵣ S₁ S₂)) :
                            f = g
                            theorem CategoryTheory.Span.SpanBicat.comp_hom_ext_apex_iff {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {c : C} {f g : c (CategoryStruct.comp S₁ S₂).apex} :
                            f = g CategoryStruct.comp f (πₗ S₁ S₂) = CategoryStruct.comp g (πₗ S₁ S₂) CategoryStruct.comp f (πᵣ S₁ S₂) = CategoryStruct.comp g (πᵣ S₁ S₂)
                            noncomputable def CategoryTheory.Span.SpanBicat.compLiftApex {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {c : C} (fₗ : c S₁.apex) (fᵣ : c S₂.apex) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) :

                            A restatement of the universal property of (S₁ ≫ S₂).apex as coming from a pullback. This is the main intended way to produce morphisms towards the apex of a composition of spans.

                            Equations
                            Instances For
                              @[simp]
                              theorem CategoryTheory.Span.SpanBicat.compLiftApex_πₗ {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {c : C} (fₗ : c S₁.apex) (fᵣ : c S₂.apex) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) :
                              CategoryStruct.comp (compLiftApex fₗ fᵣ hₘ) (πₗ S₁ S₂) = fₗ
                              @[simp]
                              theorem CategoryTheory.Span.SpanBicat.compLiftApex_πₗ_assoc {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {c : C} (fₗ : c S₁.apex) (fᵣ : c S₂.apex) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) {Z✝ : C} (h : S₁.apex Z✝) :
                              @[simp]
                              theorem CategoryTheory.Span.SpanBicat.compLiftApex_πᵣ {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {c : C} (fₗ : c S₁.apex) (fᵣ : c S₂.apex) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) :
                              CategoryStruct.comp (compLiftApex fₗ fᵣ hₘ) (πᵣ S₁ S₂) = fᵣ
                              @[simp]
                              theorem CategoryTheory.Span.SpanBicat.compLiftApex_πᵣ_assoc {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {c : C} (fₗ : c S₁.apex) (fᵣ : c S₂.apex) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) {Z✝ : C} (h : S₂.apex Z✝) :
                              @[implicit_reducible]
                              noncomputable def CategoryTheory.Span.SpanBicat.compLift {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {S : X Z} (fₗ : S.apex S₁.apex) (fᵣ : S.apex S₂.apex) (hₗ : CategoryStruct.comp fₗ S₁.l = S.l := by cat_disch) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) (hᵣ : CategoryStruct.comp fᵣ S₂.r = S.r := by cat_disch) :

                              A restatement of the universal property of S₁ ≫ S₂ as coming from a pullback. This is the main intended way to produce morphisms towards a composition of spans.

                              Equations
                              Instances For
                                @[simp]
                                theorem CategoryTheory.Span.SpanBicat.compLift_hom {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} {S : X Z} (fₗ : S.apex S₁.apex) (fᵣ : S.apex S₂.apex) (hₗ : CategoryStruct.comp fₗ S₁.l = S.l := by cat_disch) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) (hᵣ : CategoryStruct.comp fᵣ S₂.r = S.r := by cat_disch) :
                                (compLift fₗ fᵣ hₗ hₘ hᵣ).hom = compLiftApex fₗ fᵣ
                                theorem CategoryTheory.Span.SpanBicat.compLift_hom_πₗ {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} (S : X Z) (fₗ : S.apex S₁.apex) (fᵣ : S.apex S₂.apex) (hₗ : CategoryStruct.comp fₗ S₁.l = S.l := by cat_disch) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) (hᵣ : CategoryStruct.comp fᵣ S₂.r = S.r := by cat_disch) :
                                CategoryStruct.comp (compLift fₗ fᵣ hₗ hₘ hᵣ).hom (πₗ S₁ S₂) = fₗ
                                theorem CategoryTheory.Span.SpanBicat.compLift_hom_πᵣ {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {X Y Z : SpanBicat C Wₗ Wᵣ} {S₁ : X Y} {S₂ : Y Z} (S : X Z) (fₗ : S.apex S₁.apex) (fᵣ : S.apex S₂.apex) (hₗ : CategoryStruct.comp fₗ S₁.l = S.l := by cat_disch) (hₘ : CategoryStruct.comp fₗ S₁.r = CategoryStruct.comp fᵣ S₂.l := by cat_disch) (hᵣ : CategoryStruct.comp fᵣ S₂.r = S.r := by cat_disch) :
                                CategoryStruct.comp (compLift fₗ fᵣ hₗ hₘ hᵣ).hom (πᵣ S₁ S₂) = fᵣ
                                noncomputable def CategoryTheory.Span.SpanBicat.associator {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {c₁ c₂ c₃ c₄ : SpanBicat C Wₗ Wᵣ} (S₁ : c₁ c₂) (S₂ : c₂ c₃) (S₃ : c₃ c₄) :

                                The associator isomorphisms for the bicategory structure on spans.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  The right unitor for the bicategory structure on spans.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    The left unitor for the bicategory structure on spans.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[instance_reducible]
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      @[simp]
                                      @[simp]
                                      theorem CategoryTheory.Span.SpanBicat.associator_hom_hom_πₗ_assoc {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {W X Y Z : SpanBicat C Wₗ Wᵣ} (S₁ : W X) (S₂ : X Y) (S₃ : Y Z) {Z✝ : C} (h : S₁.apex Z✝) :
                                      @[simp]
                                      @[simp]
                                      @[simp]
                                      @[simp]
                                      theorem CategoryTheory.Span.SpanBicat.associator_inv_hom_πᵣ_assoc {C : Type u_1} [Category.{v_1, u_1} C] {Wₗ Wᵣ : MorphismProperty C} [Wₗ.ContainsIdentities] [Wᵣ.ContainsIdentities] [Wₗ.HasPullbacksAgainst Wᵣ] [Wₗ.IsStableUnderBaseChangeAgainst Wᵣ] [Wᵣ.IsStableUnderBaseChangeAgainst Wₗ] [Wₗ.IsStableUnderComposition] [Wᵣ.IsStableUnderComposition] {W X Y Z : SpanBicat C Wₗ Wᵣ} (S₁ : W X) (S₂ : X Y) (S₃ : Y Z) {Z✝ : C} (h : S₃.apex Z✝) :
                                      @[simp]
                                      @[simp]
                                      @[reducible, inline]

                                      Extract the isomorphism between the apices from the data of an isomorphism of 1-morphisms in SpanBicat C _ _.

                                      Equations
                                      Instances For