Documentation

Mathlib.CategoryTheory.Limits.Shapes.Opposites.Pullbacks

Pullbacks and pushouts in C and Cᵒᵖ #

We construct pullbacks and pushouts in the opposite categories.

def CategoryTheory.Limits.spanOp {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} (f : X Z) (g : Y Z) :

The canonical isomorphism relating Span f.op g.op and (Cospan f g).op

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem CategoryTheory.Limits.spanOp_inv_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} (f : X Z) (g : Y Z) (X✝ : WalkingSpan) :
    @[simp]
    theorem CategoryTheory.Limits.spanOp_hom_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} (f : X Z) (g : Y Z) (X✝ : WalkingSpan) :

    The canonical isomorphism relating span f.unop g.unop and (cospan f g).leftOp

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem CategoryTheory.Limits.spanUnop_inv_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} (f : X Z) (g : Y Z) (X✝ : WalkingSpan) :
      @[simp]
      theorem CategoryTheory.Limits.spanUnop_hom_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} (f : X Z) (g : Y Z) (X✝ : WalkingSpan) :
      def CategoryTheory.Limits.opCospan {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} (f : X Z) (g : Y Z) :

      The canonical isomorphism relating (Cospan f g).op and Span f.op g.op

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

        The canonical isomorphism relating Cospan f.op g.op and (Span f g).op

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CategoryTheory.Limits.cospanOp_hom_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} (f : X Y) (g : X Z) (X✝ : WalkingCospan) :
          @[simp]
          theorem CategoryTheory.Limits.cospanOp_inv_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} (f : X Y) (g : X Z) (X✝ : WalkingCospan) :

          The canonical isomorphism relating cospan f.unop g.unop and (span f g).leftOp

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

            The canonical isomorphism relating (Span f g).op and Cospan f.op g.op

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

              The obvious map PushoutCocone f g → PullbackCone f.unop g.unop

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem CategoryTheory.Limits.PushoutCocone.unop_π_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Y} {g : X Z} (c : PushoutCocone f g) (X✝ : WalkingCospan) :
                @[simp]
                theorem CategoryTheory.Limits.PushoutCocone.unop_pt {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Y} {g : X Z} (c : PushoutCocone f g) :
                theorem CategoryTheory.Limits.PushoutCocone.unop_fst {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Y} {g : X Z} (c : PushoutCocone f g) :
                theorem CategoryTheory.Limits.PushoutCocone.unop_snd {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Y} {g : X Z} (c : PushoutCocone f g) :
                def CategoryTheory.Limits.PushoutCocone.op {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Y} {g : X Z} (c : PushoutCocone f g) :

                The obvious map PushoutCocone f.op g.op → PullbackCone f g

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem CategoryTheory.Limits.PushoutCocone.op_π_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Y} {g : X Z} (c : PushoutCocone f g) (X✝ : WalkingCospan) :
                  @[simp]
                  theorem CategoryTheory.Limits.PushoutCocone.op_pt {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Y} {g : X Z} (c : PushoutCocone f g) :
                  theorem CategoryTheory.Limits.PushoutCocone.op_fst {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Y} {g : X Z} (c : PushoutCocone f g) :
                  c.op.fst = c.inl.op
                  theorem CategoryTheory.Limits.PushoutCocone.op_snd {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Y} {g : X Z} (c : PushoutCocone f g) :
                  c.op.snd = c.inr.op
                  def CategoryTheory.Limits.PullbackCone.unop {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Z} {g : Y Z} (c : PullbackCone f g) :

                  The obvious map PullbackCone f g → PushoutCocone f.unop g.unop

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[simp]
                    theorem CategoryTheory.Limits.PullbackCone.unop_ι_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Z} {g : Y Z} (c : PullbackCone f g) (X✝ : WalkingSpan) :
                    @[simp]
                    theorem CategoryTheory.Limits.PullbackCone.unop_pt {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Z} {g : Y Z} (c : PullbackCone f g) :
                    theorem CategoryTheory.Limits.PullbackCone.unop_inl {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Z} {g : Y Z} (c : PullbackCone f g) :
                    theorem CategoryTheory.Limits.PullbackCone.unop_inr {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Z} {g : Y Z} (c : PullbackCone f g) :
                    def CategoryTheory.Limits.PullbackCone.op {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Z} {g : Y Z} (c : PullbackCone f g) :

                    The obvious map PullbackCone f g → PushoutCocone f.op g.op

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[simp]
                      theorem CategoryTheory.Limits.PullbackCone.op_ι_app {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Z} {g : Y Z} (c : PullbackCone f g) (X✝ : WalkingSpan) :
                      @[simp]
                      theorem CategoryTheory.Limits.PullbackCone.op_pt {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Z} {g : Y Z} (c : PullbackCone f g) :
                      theorem CategoryTheory.Limits.PullbackCone.op_inl {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Z} {g : Y Z} (c : PullbackCone f g) :
                      c.op.inl = c.fst.op
                      theorem CategoryTheory.Limits.PullbackCone.op_inr {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Z} {g : Y Z} (c : PullbackCone f g) :
                      c.op.inr = c.snd.op
                      def CategoryTheory.Limits.PullbackCone.opUnopIso {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Z} {g : Y Z} (c : PullbackCone f g) :
                      c.op.unop c

                      If c is a pullback cone, then c.op.unop is isomorphic to c.

                      Equations
                      Instances For
                        def CategoryTheory.Limits.PullbackCone.unopOpIso {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Z} {g : Y Z} (c : PullbackCone f g) :
                        c.unop.op c

                        If c is a pullback cone in Cᵒᵖ, then c.unop.op is isomorphic to c.

                        Equations
                        Instances For
                          def CategoryTheory.Limits.PushoutCocone.opUnopIso {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} {f : X Y} {g : X Z} (c : PushoutCocone f g) :
                          c.op.unop c

                          If c is a pushout cocone, then c.op.unop is isomorphic to c.

                          Equations
                          Instances For
                            def CategoryTheory.Limits.PushoutCocone.unopOpIso {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : Cᵒᵖ} {f : X Y} {g : X Z} (c : PushoutCocone f g) :
                            c.unop.op c

                            If c is a pushout cocone in Cᵒᵖ, then c.unop.op is isomorphic to c.

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

                              A pushout cone is a colimit cocone if and only if the corresponding pullback cone in the opposite category is a limit cone.

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

                                A pushout cone is a colimit cocone in Cᵒᵖ if and only if the corresponding pullback cone in C is a limit cone.

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

                                  A pullback cone is a limit cone if and only if the corresponding pushout cocone in the opposite category is a colimit cocone.

                                  Equations
                                  Instances For

                                    A pullback cone is a limit cone in Cᵒᵖ if and only if the corresponding pushout cocone in C is a colimit cocone.

                                    Equations
                                    Instances For
                                      @[simp]
                                      noncomputable def CategoryTheory.Limits.pullbackIsoUnopPushout {C : Type u₁} [Category.{v₁, u₁} C] {X Y Z : C} (f : X Z) (g : Y Z) [h : HasPullback f g] :

                                      The pullback of f and g in C is isomorphic to the pushout of f.op and g.op in Cᵒᵖ.

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

                                        The pullback of f and g in Cᵒᵖ is isomorphic to the pushout of f.unop and g.unop in C.

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

                                          The pushout of f and g in C is isomorphic to the pullback of f.op and g.op in Cᵒᵖ.

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

                                            The pushout of f and g in Cᵒᵖ is isomorphic to the pullback of f.unop and g.unop in C.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              theorem CategoryTheory.Limits.op_pullbackMap {C : Type u₁} [Category.{v₁, u₁} C] {W X Y Z S T : C} (f₁ : W S) (f₂ : X S) [HasPullback f₁ f₂] (g₁ : Y T) (g₂ : Z T) [HasPullback g₁ g₂] (i₁ : W Y) (i₂ : X Z) (i₃ : S T) (eq₁ : CategoryStruct.comp f₁ i₃ = CategoryStruct.comp i₁ g₁) (eq₂ : CategoryStruct.comp f₂ i₃ = CategoryStruct.comp i₂ g₂) :
                                              (pullback.map f₁ f₂ g₁ g₂ i₁ i₂ i₃ eq₁ eq₂).op = CategoryStruct.comp (pushoutIsoOpPullback g₁.op g₂.op).inv (CategoryStruct.comp (pushout.map g₁.op g₂.op f₁.op f₂.op i₁.op i₂.op i₃.op ) (pushoutIsoOpPullback f₁.op f₂.op).hom)
                                              theorem CategoryTheory.Limits.op_pushoutMap {C : Type u₁} [Category.{v₁, u₁} C] {W X Y Z S T : C} (f₁ : S W) (f₂ : S X) [HasPushout f₁ f₂] (g₁ : T Y) (g₂ : T Z) [HasPushout g₁ g₂] (i₁ : W Y) (i₂ : X Z) (i₃ : S T) (eq₁ : CategoryStruct.comp f₁ i₁ = CategoryStruct.comp i₃ g₁) (eq₂ : CategoryStruct.comp f₂ i₂ = CategoryStruct.comp i₃ g₂) :
                                              (pushout.map f₁ f₂ g₁ g₂ i₁ i₂ i₃ eq₁ eq₂).op = CategoryStruct.comp (pullbackIsoOpPushout g₁.op g₂.op).inv (CategoryStruct.comp (pullback.map g₁.op g₂.op f₁.op f₂.op i₁.op i₂.op i₃.op ) (pullbackIsoOpPushout f₁.op f₂.op).hom)
                                              def CategoryTheory.CommSq.coneOp {C : Type u_1} [Category.{v_1, u_1} C] {W X Y Z : C} {f : W X} {g : W Y} {h : X Z} {i : Y Z} (p : CommSq f g h i) :

                                              The pushout cocone in the opposite category associated to the cone of a commutative square identifies to the cocone of the flipped commutative square in the opposite category

                                              Equations
                                              Instances For
                                                def CategoryTheory.CommSq.coconeOp {C : Type u_1} [Category.{v_1, u_1} C] {W X Y Z : C} {f : W X} {g : W Y} {h : X Z} {i : Y Z} (p : CommSq f g h i) :

                                                The pullback cone in the opposite category associated to the cocone of a commutative square identifies to the cone of the flipped commutative square in the opposite category

                                                Equations
                                                Instances For
                                                  def CategoryTheory.CommSq.coneUnop {C : Type u_1} [Category.{v_1, u_1} C] {W X Y Z : Cᵒᵖ} {f : W X} {g : W Y} {h : X Z} {i : Y Z} (p : CommSq f g h i) :

                                                  The pushout cocone obtained from the pullback cone associated to a commutative square in the opposite category identifies to the cocone associated to the flipped square.

                                                  Equations
                                                  Instances For
                                                    def CategoryTheory.CommSq.coconeUnop {C : Type u_1} [Category.{v_1, u_1} C] {W X Y Z : Cᵒᵖ} {f : W X} {g : W Y} {h : X Z} {i : Y Z} (p : CommSq f g h i) :

                                                    The pullback cone obtained from the pushout cone associated to a commutative square in the opposite category identifies to the cone associated to the flipped square.

                                                    Equations
                                                    Instances For