Documentation

Mathlib.CategoryTheory.Limits.Shapes.Pullback.Cospan

Cospan & Span #

We define a category WalkingCospan (resp. WalkingSpan), which is the index category for the given data for a pullback (resp. pushout) diagram. Convenience methods cospan f g and span f g construct functors from the walking (co)span, hitting the given morphisms.

References #

@[reducible, inline]

The type of objects for the diagram indexing a pullback, defined as a special case of WidePullbackShape.

Equations
Instances For
    @[reducible, match_pattern, inline]

    The left point of the walking cospan.

    Equations
    Instances For
      @[reducible, match_pattern, inline]

      The right point of the walking cospan.

      Equations
      Instances For
        @[reducible, match_pattern, inline]

        The central point of the walking cospan.

        Equations
        Instances For
          @[reducible, inline]

          The type of objects for the diagram indexing a pushout, defined as a special case of WidePushoutShape.

          Equations
          Instances For
            @[reducible, match_pattern, inline]

            The left point of the walking span.

            Equations
            Instances For
              @[reducible, match_pattern, inline]

              The right point of the walking span.

              Equations
              Instances For
                @[reducible, match_pattern, inline]

                The central point of the walking span.

                Equations
                Instances For
                  @[reducible, inline]

                  The type of arrows for the diagram indexing a pullback.

                  Equations
                  Instances For
                    @[reducible, match_pattern, inline]

                    The identity arrows of the walking cospan.

                    Equations
                    Instances For
                      @[reducible, inline]

                      The type of arrows for the diagram indexing a pushout.

                      Equations
                      Instances For
                        @[reducible, match_pattern, inline]

                        The identity arrows of the walking span.

                        Equations
                        Instances For
                          def CategoryTheory.Limits.WalkingCospan.ext {C : Type u} [Category.{v, u} C] {F : Functor WalkingCospan C} {s t : Cone F} (i : s.pt t.pt) (w₁ : s.app left = CategoryStruct.comp i.hom (t.app left)) (w₂ : s.app right = CategoryStruct.comp i.hom (t.app right)) :
                          s t

                          To construct an isomorphism of cones over the walking cospan, it suffices to construct an isomorphism of the cone points and check it commutes with the legs to left and right.

                          Equations
                          Instances For
                            def CategoryTheory.Limits.WalkingSpan.ext {C : Type u} [Category.{v, u} C] {F : Functor WalkingSpan C} {s t : Cocone F} (i : s.pt t.pt) (w₁ : CategoryStruct.comp (s.app WalkingCospan.left) i.hom = t.app WalkingCospan.left) (w₂ : CategoryStruct.comp (s.app WalkingCospan.right) i.hom = t.app WalkingCospan.right) :
                            s t

                            To construct an isomorphism of cocones over the walking span, it suffices to construct an isomorphism of the cocone points and check it commutes with the legs from left and right.

                            Equations
                            Instances For
                              def CategoryTheory.Limits.cospan {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Z) (g : Y Z) :

                              cospan f g is the functor from the walking cospan hitting f and g.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def CategoryTheory.Limits.span {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Y) (g : X Z) :

                                span f g is the functor from the walking span hitting f and g.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.Limits.cospan_left {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Z) (g : Y Z) :
                                  @[simp]
                                  theorem CategoryTheory.Limits.span_left {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Y) (g : X Z) :
                                  (span f g).obj WalkingSpan.left = Y
                                  @[simp]
                                  theorem CategoryTheory.Limits.cospan_right {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Z) (g : Y Z) :
                                  @[simp]
                                  theorem CategoryTheory.Limits.span_right {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Y) (g : X Z) :
                                  @[simp]
                                  theorem CategoryTheory.Limits.cospan_one {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Z) (g : Y Z) :
                                  @[simp]
                                  theorem CategoryTheory.Limits.span_zero {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Y) (g : X Z) :
                                  (span f g).obj WalkingSpan.zero = X
                                  @[simp]
                                  theorem CategoryTheory.Limits.cospan_map_inl {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Z) (g : Y Z) :
                                  @[simp]
                                  theorem CategoryTheory.Limits.span_map_fst {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Y) (g : X Z) :
                                  @[simp]
                                  theorem CategoryTheory.Limits.cospan_map_inr {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Z) (g : Y Z) :
                                  @[simp]
                                  theorem CategoryTheory.Limits.span_map_snd {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Y) (g : X Z) :
                                  theorem CategoryTheory.Limits.cospan_map_id {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Z) (g : Y Z) (w : WalkingCospan) :
                                  theorem CategoryTheory.Limits.span_map_id {C : Type u} [Category.{v, u} C] {X Y Z : C} (f : X Y) (g : X Z) (w : WalkingSpan) :
                                  (span f g).map (WalkingSpan.Hom.id w) = CategoryStruct.id ((span f g).obj w)

                                  Every diagram indexing a pullback is naturally isomorphic (actually, equal) to a cospan

                                  Equations
                                  Instances For

                                    Every diagram indexing a pushout is naturally isomorphic (actually, equal) to a span

                                    Equations
                                    Instances For
                                      def CategoryTheory.Limits.cospanCompIso {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                      (cospan f g).comp F cospan (F.map f) (F.map g)

                                      A functor applied to a cospan is a cospan.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_app_left {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_app_right {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_app_one {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_hom_app_left {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_hom_app_right {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_hom_app_one {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_inv_app_left {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        (cospanCompIso F f g).inv.app WalkingCospan.left = CategoryStruct.id ((cospan (F.map f) (F.map g)).obj WalkingCospan.left)
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_inv_app_right {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        @[simp]
                                        theorem CategoryTheory.Limits.cospanCompIso_inv_app_one {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Z) (g : Y Z) :
                                        (cospanCompIso F f g).inv.app WalkingCospan.one = CategoryStruct.id ((cospan (F.map f) (F.map g)).obj WalkingCospan.one)
                                        def CategoryTheory.Limits.spanCompIso {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                        (span f g).comp F span (F.map f) (F.map g)

                                        A functor applied to a span is a span.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_app_left {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          (spanCompIso F f g).app WalkingSpan.left = Iso.refl (((span f g).comp F).obj WalkingSpan.left)
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_app_right {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_app_zero {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          (spanCompIso F f g).app WalkingSpan.zero = Iso.refl (((span f g).comp F).obj WalkingSpan.zero)
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_hom_app_left {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_hom_app_right {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_hom_app_zero {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_inv_app_left {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          (spanCompIso F f g).inv.app WalkingSpan.left = CategoryStruct.id ((span (F.map f) (F.map g)).obj WalkingSpan.left)
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_inv_app_right {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          (spanCompIso F f g).inv.app WalkingSpan.right = CategoryStruct.id ((span (F.map f) (F.map g)).obj WalkingSpan.right)
                                          @[simp]
                                          theorem CategoryTheory.Limits.spanCompIso_inv_app_zero {C : Type u} [Category.{v, u} C] {D : Type u₂} [Category.{v₂, u₂} D] (F : Functor C D) {X Y Z : C} (f : X Y) (g : X Z) :
                                          (spanCompIso F f g).inv.app WalkingSpan.zero = CategoryStruct.id ((span (F.map f) (F.map g)).obj WalkingSpan.zero)
                                          def CategoryTheory.Limits.cospanExt {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                          cospan f g cospan f' g'

                                          Construct an isomorphism of cospans from components.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_app_left {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).app WalkingCospan.left = iX
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_app_right {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).app WalkingCospan.right = iY
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_app_one {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).app WalkingCospan.one = iZ
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_hom_app_left {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).hom.app WalkingCospan.left = iX.hom
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_hom_app_right {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).hom.app WalkingCospan.right = iY.hom
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_hom_app_one {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).hom.app WalkingCospan.one = iZ.hom
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_inv_app_left {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).inv.app WalkingCospan.left = iX.inv
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_inv_app_right {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).inv.app WalkingCospan.right = iY.inv
                                            @[simp]
                                            theorem CategoryTheory.Limits.cospanExt_inv_app_one {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Z} {g : Y Z} {f' : X' Z'} {g' : Y' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iZ.hom) (wg : CategoryStruct.comp iY.hom g' = CategoryStruct.comp g iZ.hom) :
                                            (cospanExt iX iY iZ wf wg).inv.app WalkingCospan.one = iZ.inv
                                            def CategoryTheory.Limits.spanExt {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                            span f g span f' g'

                                            Construct an isomorphism of spans from components.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_app_left {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).app WalkingSpan.left = iY
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_app_right {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).app WalkingSpan.right = iZ
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_app_one {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).app WalkingSpan.zero = iX
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_hom_app_left {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).hom.app WalkingSpan.left = iY.hom
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_hom_app_right {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).hom.app WalkingSpan.right = iZ.hom
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_hom_app_zero {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).hom.app WalkingSpan.zero = iX.hom
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_inv_app_left {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).inv.app WalkingSpan.left = iY.inv
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_inv_app_right {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).inv.app WalkingSpan.right = iZ.inv
                                              @[simp]
                                              theorem CategoryTheory.Limits.spanExt_inv_app_zero {C : Type u} [Category.{v, u} C] {X Y Z X' Y' Z' : C} (iX : X X') (iY : Y Y') (iZ : Z Z') {f : X Y} {g : X Z} {f' : X' Y'} {g' : X' Z'} (wf : CategoryStruct.comp iX.hom f' = CategoryStruct.comp f iY.hom) (wg : CategoryStruct.comp iX.hom g' = CategoryStruct.comp g iZ.hom) :
                                              (spanExt iX iY iZ wf wg).inv.app WalkingSpan.zero = iX.inv