Documentation

Mathlib.CategoryTheory.Limits.Cones

Cones and cocones #

We define Cone F, a cone over a functor F, and F.cones : Cᵒᵖ ⥤ Type, the functor associating to X the cones over F with cone point X.

A cone c is defined by specifying its cone point c.pt and a natural transformation c.π from the constant c.pt-valued functor to F.

We provide c.w f : c.π.app j ≫ F.map f = c.π.app j' for any f : j ⟶ j' as a wrapper for c.π.naturality f avoiding unneeded identity morphisms.

We define c.extend f, where c : cone F and f : Y ⟶ c.pt for some other Y, which replaces the cone point by Y and inserts f into each of the components of the cone. Similarly we have c.whisker F producing a Cone (E ⋙ F)

We define morphisms of cones, and the category of cones.

We define Cone.postcompose α : cone F ⥤ cone G for α a natural transformation F ⟶ G.

And, of course, we dualise all this to cocones as well.

For more results about the category of cones, see cone_category.lean.

def CategoryTheory.Functor.cones {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) :
Functor Cᵒᵖ (Type (max u₁ v₃))

If F : J ⥤ C then F.cones is the functor assigning to an object X : C the type of natural transformations from the constant functor with value X to F. An object representing this functor is a limit of F.

Instances For
    @[simp]
    theorem CategoryTheory.Functor.cones_map_app {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) {X✝ Y✝ : Cᵒᵖ} (f : X✝ Y✝) (a✝ : (yoneda.obj F).obj ((const J).op.obj X✝)) (X : J) :
    (F.cones.map f a✝).app X = CategoryStruct.comp f.unop (a✝.app X)
    def CategoryTheory.Functor.cocones {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) :
    Functor C (Type (max u₁ v₃))

    If F : J ⥤ C then F.cocones is the functor assigning to an object (X : C) the type of natural transformations from F to the constant functor with value X. An object corepresenting this functor is a colimit of F.

    Instances For
      @[simp]
      theorem CategoryTheory.Functor.cocones_map_app {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) {X✝ Y✝ : C} (f : X✝ Y✝) (a✝ : (coyoneda.obj (Opposite.op F)).obj ((const J).obj X✝)) (X : J) :
      (F.cocones.map f a✝).app X = CategoryStruct.comp (a✝.app X) f
      @[simp]
      theorem CategoryTheory.Functor.cocones_obj {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) (X : C) :
      F.cocones.obj X = (F (const J).obj X)
      def CategoryTheory.cones (J : Type u₁) [Category.{v₁, u₁} J] (C : Type u₃) [Category.{v₃, u₃} C] :
      Functor (Functor J C) (Functor Cᵒᵖ (Type (max u₁ v₃)))

      Functorially associated to each functor J ⥤ C, we have the C-presheaf consisting of cones with a given cone point.

      Instances For
        @[simp]
        theorem CategoryTheory.cones_obj_map_app (J : Type u₁) [Category.{v₁, u₁} J] (C : Type u₃) [Category.{v₃, u₃} C] (F : Functor J C) {X✝ Y✝ : Cᵒᵖ} (f : X✝ Y✝) (a✝ : (yoneda.obj F).obj ((Functor.const J).op.obj X✝)) (X : J) :
        (((cones J C).obj F).map f a✝).app X = CategoryStruct.comp f.unop (a✝.app X)
        @[simp]
        theorem CategoryTheory.cones_map_app_app (J : Type u₁) [Category.{v₁, u₁} J] (C : Type u₃) [Category.{v₃, u₃} C] {X✝ Y✝ : Functor J C} (f : X✝ Y✝) (X : Cᵒᵖ) (a✝ : (yoneda.obj X✝).obj ((Functor.const J).op.obj X)) (X✝¹ : J) :
        (((cones J C).map f).app X a✝).app X✝¹ = CategoryStruct.comp (a✝.app X✝¹) (f.app X✝¹)
        @[simp]
        theorem CategoryTheory.cones_obj_obj (J : Type u₁) [Category.{v₁, u₁} J] (C : Type u₃) [Category.{v₃, u₃} C] (F : Functor J C) (X : Cᵒᵖ) :
        ((cones J C).obj F).obj X = ((Functor.const J).obj (Opposite.unop X) F)
        def CategoryTheory.cocones (J : Type u₁) [Category.{v₁, u₁} J] (C : Type u₃) [Category.{v₃, u₃} C] :
        Functor (Functor J C)ᵒᵖ (Functor C (Type (max u₁ v₃)))

        Contravariantly associated to each functor J ⥤ C, we have the C-copresheaf consisting of cocones with a given cocone point.

        Instances For
          @[simp]
          theorem CategoryTheory.cocones_map_app_app (J : Type u₁) [Category.{v₁, u₁} J] (C : Type u₃) [Category.{v₃, u₃} C] {X✝ Y✝ : (Functor J C)ᵒᵖ} (f : X✝ Y✝) (X : C) (a✝ : (coyoneda.obj (Opposite.op (Opposite.unop X✝))).obj ((Functor.const J).obj X)) (X✝¹ : J) :
          (((cocones J C).map f).app X a✝).app X✝¹ = CategoryStruct.comp (f.unop.app X✝¹) (a✝.app X✝¹)
          @[simp]
          theorem CategoryTheory.cocones_obj_map_app (J : Type u₁) [Category.{v₁, u₁} J] (C : Type u₃) [Category.{v₃, u₃} C] (F : (Functor J C)ᵒᵖ) {X✝ Y✝ : C} (f : X✝ Y✝) (a✝ : (coyoneda.obj (Opposite.op (Opposite.unop F))).obj ((Functor.const J).obj X✝)) (X : J) :
          (((cocones J C).obj F).map f a✝).app X = CategoryStruct.comp (a✝.app X) f
          @[simp]
          theorem CategoryTheory.cocones_obj_obj (J : Type u₁) [Category.{v₁, u₁} J] (C : Type u₃) [Category.{v₃, u₃} C] (F : (Functor J C)ᵒᵖ) (X : C) :
          ((cocones J C).obj F).obj X = (Opposite.unop F (Functor.const J).obj X)
          structure CategoryTheory.Limits.Cone {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) :
          Type (max (max u₁ u₃) v₃)

          A c : Cone F is:

          • an object c.pt and
          • a natural transformation c.π : c.pt ⟶ F from the constant c.pt functor to F.

          Example: if J is a category coming from a poset then the data required to make a term of type Cone F is morphisms πⱼ : c.pt ⟶ F j for all j : J and, for all i ≤ j in J, morphisms πᵢⱼ : F i ⟶ F j such that πᵢ ≫ πᵢⱼ = πⱼ.

          Cone F is equivalent, via cone.equiv below, to Σ X, F.cones.obj X.

          • pt : C

            An object of C

          • π : (Functor.const J).obj self.pt F

            A natural transformation from the constant functor at X to F

          Instances For
            structure CategoryTheory.Limits.Cocone {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) :
            Type (max (max u₁ u₃) v₃)

            A c : Cocone F is

            • an object c.pt and
            • a natural transformation c.ι : F ⟶ c.pt from F to the constant c.pt functor.

            For example, if the source J of F is a partially ordered set, then to give c : Cocone F is to give a collection of morphisms ιⱼ : F j ⟶ c.pt and, for all j ≤ k in J, morphisms ιⱼₖ : F j ⟶ F k such that Fⱼₖ ≫ Fₖ = Fⱼ for all j ≤ k.

            Cocone F is equivalent, via Cone.equiv below, to Σ X, F.cocones.obj X.

            • pt : C

              An object of C

            • ι : F (Functor.const J).obj self.pt

              A natural transformation from F to the constant functor at pt

            Instances For
              @[implicit_reducible]
              instance CategoryTheory.Limits.inhabitedCone {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor (Discrete PUnit.{u_1 + 1}) C) :
              Inhabited (Cone F)
              @[implicit_reducible]
              instance CategoryTheory.Limits.inhabitedCocone {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor (Discrete PUnit.{u_1 + 1}) C) :
              Inhabited (Cocone F)
              @[simp]
              theorem CategoryTheory.Limits.Cone.w {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cone F) {j j' : J} (f : j j') :
              CategoryStruct.comp (c.π.app j) (F.map f) = c.π.app j'
              @[simp]
              theorem CategoryTheory.Limits.Cocone.w {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cocone F) {j j' : J} (f : j' j) :
              CategoryStruct.comp (F.map f) (c.ι.app j) = c.ι.app j'
              @[simp]
              theorem CategoryTheory.Limits.Cone.w_assoc {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cone F) {j j' : J} (f : j j') {Z : C} (h : F.obj j' Z) :
              @[simp]
              theorem CategoryTheory.Limits.Cocone.w_assoc {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cocone F) {j j' : J} (f : j' j) {Z : C} (h : c.pt Z) :

              The isomorphism between a cone on F and an element of the functor F.cones.

              Instances For
                @[simp]
                theorem CategoryTheory.Limits.Cone.equiv_hom_snd {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) (c : Cone F) :
                ((equiv F).hom c).snd = c.π
                @[simp]
                theorem CategoryTheory.Limits.Cone.equiv_inv_pt {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) (c : (X : Cᵒᵖ) × F.cones.obj X) :
                ((equiv F).inv c).pt = Opposite.unop c.fst
                @[simp]
                theorem CategoryTheory.Limits.Cone.equiv_inv_π {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) (c : (X : Cᵒᵖ) × F.cones.obj X) :
                ((equiv F).inv c).π = c.snd

                A map to the vertex of a cone naturally induces a cone by composition.

                Instances For
                  def CategoryTheory.Limits.Cone.extend {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cone F) {X : C} (f : X c.pt) :

                  A map to the vertex of a cone induces a cone by composition.

                  Instances For
                    def CategoryTheory.Limits.Cocone.extend {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cocone F) {X : C} (f : c.pt X) :

                    A map from the vertex of a cocone induces a cocone by composition.

                    Instances For
                      @[simp]
                      theorem CategoryTheory.Limits.Cocone.extend_ι {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cocone F) {X : C} (f : c.pt X) :
                      @[simp]
                      theorem CategoryTheory.Limits.Cone.extend_π {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cone F) {X : C} (f : X c.pt) :
                      @[simp]
                      theorem CategoryTheory.Limits.Cone.extend_pt {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cone F) {X : C} (f : X c.pt) :
                      (c.extend f).pt = X
                      @[simp]
                      theorem CategoryTheory.Limits.Cocone.extend_pt {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cocone F) {X : C} (f : c.pt X) :
                      (c.extend f).pt = X
                      def CategoryTheory.Limits.Cone.whisker {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) (c : Cone F) :
                      Cone (E.comp F)

                      Whisker a cone by precomposition of a functor.

                      Instances For
                        def CategoryTheory.Limits.Cocone.whisker {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) (c : Cocone F) :
                        Cocone (E.comp F)

                        Whisker a cocone by precomposition of a functor. See whiskering for a functorial version.

                        Instances For
                          @[simp]
                          theorem CategoryTheory.Limits.Cocone.whisker_ι {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) (c : Cocone F) :
                          (whisker E c).ι = E.whiskerLeft c.ι
                          @[simp]
                          theorem CategoryTheory.Limits.Cone.whisker_π {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) (c : Cone F) :
                          (whisker E c).π = E.whiskerLeft c.π
                          @[simp]
                          theorem CategoryTheory.Limits.Cone.whisker_pt {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) (c : Cone F) :
                          (whisker E c).pt = c.pt
                          @[simp]
                          theorem CategoryTheory.Limits.Cocone.whisker_pt {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) (c : Cocone F) :
                          (whisker E c).pt = c.pt

                          The isomorphism between a cocone on F and an element of the functor F.cocones.

                          Instances For

                            A map from the vertex of a cocone naturally induces a cocone by composition.

                            Instances For
                              structure CategoryTheory.Limits.ConeMorphism {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (A B : Cone F) :
                              Type v₃

                              A cone morphism between two cones for the same diagram is a morphism of the cone points which commutes with the cone legs.

                              • hom : A.pt B.pt

                                A morphism between the two vertex objects of the cones

                              • w (j : J) : CategoryStruct.comp self.hom (B.π.app j) = A.π.app j

                                The triangle consisting of the two natural transformations and hom commutes

                              Instances For
                                structure CategoryTheory.Limits.CoconeMorphism {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (A B : Cocone F) :
                                Type v₃

                                A cocone morphism between two cocones for the same diagram is a morphism of the cocone points which commutes with the cocone legs.

                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.Limits.CoconeMorphism.w_assoc {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {A B : Cocone F} (self : CoconeMorphism A B) (j : J) {Z : C} (h : B.pt Z) :

                                  The triangle made from the two natural transformations and hom commutes

                                  @[simp]
                                  theorem CategoryTheory.Limits.ConeMorphism.w_assoc {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {A B : Cone F} (self : ConeMorphism A B) (j : J) {Z : C} (h : F.obj j Z) :

                                  The triangle consisting of the two natural transformations and hom commutes

                                  @[implicit_reducible]
                                  instance CategoryTheory.Limits.inhabitedConeMorphism {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (A : Cone F) :
                                  Inhabited (ConeMorphism A A)
                                  @[implicit_reducible]
                                  @[implicit_reducible]

                                  The category of cones on a given diagram.

                                  @[implicit_reducible]

                                  The category of cocones on a given diagram.

                                  @[simp]
                                  theorem CategoryTheory.Limits.Cocone.category_comp_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {x✝ x✝¹ x✝² : Cocone F} (x✝³ : CoconeMorphism x✝ x✝¹) (x✝⁴ : CoconeMorphism x✝¹ x✝²) :
                                  (CategoryStruct.comp x✝³ x✝⁴).hom = CategoryStruct.comp x✝³.hom x✝⁴.hom
                                  @[simp]
                                  theorem CategoryTheory.Limits.Cone.category_comp_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {X✝ Y✝ Z✝ : Cone F} (f : ConeMorphism X✝ Y✝) (g : ConeMorphism Y✝ Z✝) :
                                  theorem CategoryTheory.Limits.ConeMorphism.ext {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} (f g : c c') (w : f.hom = g.hom) :
                                  f = g
                                  theorem CategoryTheory.Limits.CoconeMorphism.ext {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} (f g : c' c) (w : f.hom = g.hom) :
                                  f = g
                                  theorem CategoryTheory.Limits.ConeMorphism.ext_iff {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} {f g : c c'} :
                                  f = g f.hom = g.hom
                                  theorem CategoryTheory.Limits.CoconeMorphism.ext_iff {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} {f g : c' c} :
                                  f = g f.hom = g.hom
                                  @[simp]
                                  theorem CategoryTheory.Limits.ConeMorphism.map_w {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {F : Functor J C} {c c' : Cone F} (f : c c') (G : Functor C D) (j : J) :
                                  CategoryStruct.comp (G.map f.hom) (G.map (c'.π.app j)) = G.map (c.π.app j)
                                  @[simp]
                                  theorem CategoryTheory.Limits.CoconeMorphism.map_w {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {F : Functor J C} {c c' : Cocone F} (f : c' c) (G : Functor C D) (j : J) :
                                  CategoryStruct.comp (G.map (c'.ι.app j)) (G.map f.hom) = G.map (c.ι.app j)
                                  @[simp]
                                  theorem CategoryTheory.Limits.CoconeMorphism.map_w_assoc {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {F : Functor J C} {c c' : Cocone F} (f : c' c) (G : Functor C D) (j : J) {Z : D} (h : G.obj c.pt Z) :
                                  @[simp]
                                  theorem CategoryTheory.Limits.ConeMorphism.map_w_assoc {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {F : Functor J C} {c c' : Cone F} (f : c c') (G : Functor C D) (j : J) {Z : D} (h : G.obj (F.obj j) Z) :
                                  def CategoryTheory.Limits.Cone.ext {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} (φ : c.pt c'.pt) (w : ∀ (j : J), c.π.app j = CategoryStruct.comp φ.hom (c'.π.app j) := by cat_disch) :
                                  c c'

                                  To give an isomorphism between cones, it suffices to give an isomorphism between their vertices which commutes with the cone maps.

                                  Instances For
                                    def CategoryTheory.Limits.Cocone.ext_inv {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} (φ : c.pt c'.pt) (w : ∀ (j : J), c.ι.app j = CategoryStruct.comp (c'.ι.app j) φ.inv := by cat_disch) :
                                    c c'

                                    To give an isomorphism between cocones, it suffices to give an isomorphism between their vertices which commutes with the cone maps.

                                    Instances For
                                      @[simp]
                                      theorem CategoryTheory.Limits.Cocone.ext_inv_inv_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} (φ : c.pt c'.pt) (w : ∀ (j : J), c.ι.app j = CategoryStruct.comp (c'.ι.app j) φ.inv := by cat_disch) :
                                      (ext_inv φ w).inv.hom = φ.inv
                                      @[simp]
                                      theorem CategoryTheory.Limits.Cone.ext_inv_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} (φ : c.pt c'.pt) (w : ∀ (j : J), c.π.app j = CategoryStruct.comp φ.hom (c'.π.app j) := by cat_disch) :
                                      (ext φ w).inv.hom = φ.inv
                                      @[simp]
                                      theorem CategoryTheory.Limits.Cone.ext_hom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} (φ : c.pt c'.pt) (w : ∀ (j : J), c.π.app j = CategoryStruct.comp φ.hom (c'.π.app j) := by cat_disch) :
                                      (ext φ w).hom.hom = φ.hom
                                      @[simp]
                                      theorem CategoryTheory.Limits.Cocone.ext_inv_hom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} (φ : c.pt c'.pt) (w : ∀ (j : J), c.ι.app j = CategoryStruct.comp (c'.ι.app j) φ.inv := by cat_disch) :
                                      (ext_inv φ w).hom.hom = φ.hom
                                      def CategoryTheory.Limits.Cone.ext_inv {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} (φ : c.pt c'.pt) (w : ∀ (j : J), CategoryStruct.comp φ.inv (c.π.app j) = c'.π.app j := by cat_disch) :
                                      c c'

                                      To give an isomorphism between cones, it suffices to give an isomorphism between their vertices which commutes with the cone maps.

                                      Instances For
                                        def CategoryTheory.Limits.Cocone.ext {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} (φ : c.pt c'.pt) (w : ∀ (j : J), CategoryStruct.comp (c.ι.app j) φ.hom = c'.ι.app j := by cat_disch) :
                                        c c'

                                        To give an isomorphism between cocones, it suffices to give an isomorphism between their vertices which commutes with the cocone maps.

                                        Instances For
                                          @[simp]
                                          theorem CategoryTheory.Limits.Cone.ext_inv_inv_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} (φ : c.pt c'.pt) (w : ∀ (j : J), CategoryStruct.comp φ.inv (c.π.app j) = c'.π.app j := by cat_disch) :
                                          (ext_inv φ w).inv.hom = φ.inv
                                          @[simp]
                                          theorem CategoryTheory.Limits.Cocone.ext_hom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} (φ : c.pt c'.pt) (w : ∀ (j : J), CategoryStruct.comp (c.ι.app j) φ.hom = c'.ι.app j := by cat_disch) :
                                          (ext φ w).hom.hom = φ.hom
                                          @[simp]
                                          theorem CategoryTheory.Limits.Cone.ext_inv_hom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} (φ : c.pt c'.pt) (w : ∀ (j : J), CategoryStruct.comp φ.inv (c.π.app j) = c'.π.app j := by cat_disch) :
                                          (ext_inv φ w).hom.hom = φ.hom
                                          @[simp]
                                          theorem CategoryTheory.Limits.Cocone.ext_inv_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} (φ : c.pt c'.pt) (w : ∀ (j : J), CategoryStruct.comp (c.ι.app j) φ.hom = c'.ι.app j := by cat_disch) :
                                          (ext φ w).inv.hom = φ.inv
                                          def CategoryTheory.Limits.Cone.eta {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cone F) :
                                          c { pt := c.pt, π := c.π }

                                          Eta rule for cones.

                                          Instances For
                                            def CategoryTheory.Limits.Cocone.eta {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cocone F) :
                                            c { pt := c.pt, ι := c.ι }

                                            Eta rule for cocones.

                                            Instances For
                                              theorem CategoryTheory.Limits.Cone.cone_iso_of_hom_iso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {K : Functor J C} {c d : Cone K} (f : c d) [i : IsIso f.hom] :

                                              Given a cone morphism whose object part is an isomorphism, produce an isomorphism of cones.

                                              theorem CategoryTheory.Limits.Cocone.cocone_iso_of_hom_iso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {K : Functor J C} {c d : Cocone K} (f : d c) [i : IsIso f.hom] :

                                              Given a cocone morphism whose object part is an isomorphism, produce an isomorphism of cocones.

                                              def CategoryTheory.Limits.Cone.extendHom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X : C} (f : X s.pt) :
                                              s.extend f s

                                              There is a morphism from an extended cone to the original cone.

                                              Instances For
                                                def CategoryTheory.Limits.Cocone.extendHom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X : C} (f : s.pt X) :
                                                s s.extend f

                                                There is a morphism from a cocone to its extension.

                                                Instances For
                                                  @[simp]
                                                  theorem CategoryTheory.Limits.Cone.extendHom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X : C} (f : X s.pt) :
                                                  (s.extendHom f).hom = f
                                                  @[simp]
                                                  theorem CategoryTheory.Limits.Cocone.extendHom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X : C} (f : s.pt X) :
                                                  (s.extendHom f).hom = f

                                                  Extending a cone by the identity does nothing.

                                                  Instances For

                                                    Extending a cocone by the identity does nothing.

                                                    Instances For
                                                      def CategoryTheory.Limits.Cone.extendComp {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X Y : C} (f : X Y) (g : Y s.pt) :

                                                      Extending a cone by a composition is the same as extending the cone twice.

                                                      Instances For
                                                        def CategoryTheory.Limits.Cocone.extendComp {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X Y : C} (g : s.pt Y) (f : Y X) :

                                                        Extending a cocone by a composition is the same as extending the cone twice.

                                                        Instances For
                                                          @[simp]
                                                          theorem CategoryTheory.Limits.Cone.extendComp_inv_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X Y : C} (f : X Y) (g : Y s.pt) :
                                                          @[simp]
                                                          theorem CategoryTheory.Limits.Cocone.extendComp_hom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X Y : C} (g : s.pt Y) (f : Y X) :
                                                          @[simp]
                                                          theorem CategoryTheory.Limits.Cocone.extendComp_inv_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X Y : C} (g : s.pt Y) (f : Y X) :
                                                          @[simp]
                                                          theorem CategoryTheory.Limits.Cone.extendComp_hom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X Y : C} (f : X Y) (g : Y s.pt) :
                                                          def CategoryTheory.Limits.Cone.extendIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X : C} (f : s.pt X) :
                                                          s s.extend f.inv

                                                          A cone extended by an isomorphism is isomorphic to the original cone.

                                                          Instances For
                                                            def CategoryTheory.Limits.Cocone.extendIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X : C} (f : s.pt X) :
                                                            s s.extend f.hom

                                                            A cocone extended by an isomorphism is isomorphic to the original cone.

                                                            Instances For
                                                              @[simp]
                                                              theorem CategoryTheory.Limits.Cone.extendIso_inv_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X : C} (f : s.pt X) :
                                                              (s.extendIso f).inv.hom = f.inv
                                                              @[simp]
                                                              theorem CategoryTheory.Limits.Cone.extendIso_hom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X : C} (f : s.pt X) :
                                                              (s.extendIso f).hom.hom = f.hom
                                                              @[simp]
                                                              theorem CategoryTheory.Limits.Cocone.extendIso_inv_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X : C} (f : s.pt X) :
                                                              (s.extendIso f).inv.hom = f.inv
                                                              @[simp]
                                                              theorem CategoryTheory.Limits.Cocone.extendIso_hom_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X : C} (f : s.pt X) :
                                                              (s.extendIso f).hom.hom = f.hom

                                                              Functorially postcompose a cone for F by a natural transformation F ⟶ G to give a cone for G.

                                                              Instances For

                                                                Functorially precompose a cocone for F by a natural transformation G ⟶ F to give a cocone for G.

                                                                Instances For
                                                                  @[simp]
                                                                  theorem CategoryTheory.Limits.Cone.postcompose_obj_pt {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F G : Functor J C} (α : F G) (c : Cone F) :
                                                                  ((postcompose α).obj c).pt = c.pt
                                                                  @[simp]
                                                                  theorem CategoryTheory.Limits.Cocone.precompose_map_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F G : Functor J C} (α : G F) {x✝ x✝¹ : Cocone F} (f : x✝ x✝¹) :
                                                                  ((precompose α).map f).hom = f.hom
                                                                  @[simp]
                                                                  theorem CategoryTheory.Limits.Cocone.precompose_obj_pt {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F G : Functor J C} (α : G F) (c : Cocone F) :
                                                                  ((precompose α).obj c).pt = c.pt
                                                                  @[simp]
                                                                  theorem CategoryTheory.Limits.Cone.postcompose_map_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F G : Functor J C} (α : F G) {X✝ Y✝ : Cone F} (f : X✝ Y✝) :
                                                                  ((postcompose α).map f).hom = f.hom

                                                                  Postcomposing a cone by the composite natural transformation α ≫ β is the same as postcomposing by α and then by β.

                                                                  Instances For

                                                                    Precomposing a cocone by the composite natural transformation α ≫ β is the same as precomposing by β and then by α.

                                                                    Instances For
                                                                      @[simp]
                                                                      theorem CategoryTheory.Limits.Cone.postcomposeComp_hom_app_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F G H : Functor J C} (α : F G) (β : G H) (X : Cone F) :
                                                                      @[simp]
                                                                      theorem CategoryTheory.Limits.Cone.postcomposeComp_inv_app_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F G H : Functor J C} (α : F G) (β : G H) (X : Cone F) :

                                                                      Postcomposing by the identity does not change the cone up to isomorphism.

                                                                      Instances For

                                                                        Precomposing by the identity does not change the cocone up to isomorphism.

                                                                        Instances For

                                                                          If F and G are naturally isomorphic functors, then they have equivalent categories of cones.

                                                                          Instances For

                                                                            If F and G are naturally isomorphic functors, then they have equivalent categories of cocones.

                                                                            Instances For

                                                                              Whiskering on the left by E : K ⥤ J gives a functor from Cone F to Cone (E ⋙ F).

                                                                              Instances For

                                                                                Whiskering on the left by E : K ⥤ J gives a functor from Cocone F to Cocone (E ⋙ F).

                                                                                Instances For
                                                                                  @[simp]
                                                                                  theorem CategoryTheory.Limits.Cone.whiskering_map_hom {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) {X✝ Y✝ : Cone F} (f : X✝ Y✝) :
                                                                                  ((whiskering E).map f).hom = f.hom
                                                                                  @[simp]
                                                                                  theorem CategoryTheory.Limits.Cocone.whiskering_map_hom {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) {x✝ x✝¹ : Cocone F} (f : x✝ x✝¹) :
                                                                                  ((whiskering E).map f).hom = f.hom
                                                                                  @[simp]
                                                                                  theorem CategoryTheory.Limits.Cone.whiskering_obj {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (E : Functor K J) (c : Cone F) :
                                                                                  (whiskering E).obj c = whisker E c

                                                                                  Whiskering by an equivalence gives an equivalence between categories of cones.

                                                                                  Instances For

                                                                                    Whiskering by an equivalence gives an equivalence between categories of cones.

                                                                                    Instances For
                                                                                      def CategoryTheory.Limits.Cone.equivalenceOfReindexing {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {G : Functor K C} (e : K J) (α : e.functor.comp F G) :

                                                                                      The categories of cones over F and G are equivalent if F and G are naturally isomorphic (possibly after changing the indexing category by an equivalence).

                                                                                      Instances For

                                                                                        The categories of cocones over F and G are equivalent if F and G are naturally isomorphic (possibly after changing the indexing category by an equivalence).

                                                                                        Instances For

                                                                                          Forget the cone structure and obtain just the cone point.

                                                                                          Instances For

                                                                                            Forget the cocone structure and obtain just the cocone point.

                                                                                            Instances For
                                                                                              @[simp]
                                                                                              theorem CategoryTheory.Limits.Cocone.forget_map {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) {x✝ x✝¹ : Cocone F} (f : x✝ x✝¹) :
                                                                                              (forget F).map f = f.hom
                                                                                              @[simp]
                                                                                              theorem CategoryTheory.Limits.Cone.forget_obj {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) (t : Cone F) :
                                                                                              (forget F).obj t = t.pt
                                                                                              @[simp]
                                                                                              theorem CategoryTheory.Limits.Cone.forget_map {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] (F : Functor J C) {X✝ Y✝ : Cone F} (f : X✝ Y✝) :
                                                                                              (forget F).map f = f.hom

                                                                                              A functor G : C ⥤ D sends cones over F to cones over F ⋙ G functorially.

                                                                                              Instances For

                                                                                                A functor G : C ⥤ D sends cocones over F to cocones over F ⋙ G functorially.

                                                                                                Instances For
                                                                                                  @[simp]
                                                                                                  theorem CategoryTheory.Limits.Cocone.functoriality_map_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (F : Functor J C) (G : Functor C D) {x✝ x✝¹ : Cocone F} (f : x✝ x✝¹) :
                                                                                                  ((functoriality F G).map f).hom = G.map f.hom
                                                                                                  @[simp]
                                                                                                  theorem CategoryTheory.Limits.Cocone.functoriality_obj_ι_app {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (F : Functor J C) (G : Functor C D) (A : Cocone F) (j : J) :
                                                                                                  ((functoriality F G).obj A).ι.app j = G.map (A.ι.app j)
                                                                                                  @[simp]
                                                                                                  theorem CategoryTheory.Limits.Cone.functoriality_map_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (F : Functor J C) (G : Functor C D) {X✝ Y✝ : Cone F} (f : X✝ Y✝) :
                                                                                                  ((functoriality F G).map f).hom = G.map f.hom
                                                                                                  @[simp]
                                                                                                  theorem CategoryTheory.Limits.Cone.functoriality_obj_π_app {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (F : Functor J C) (G : Functor C D) (A : Cone F) (j : J) :
                                                                                                  ((functoriality F G).obj A).π.app j = G.map (A.π.app j)
                                                                                                  @[simp]
                                                                                                  theorem CategoryTheory.Limits.Cone.functoriality_obj_pt {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (F : Functor J C) (G : Functor C D) (A : Cone F) :
                                                                                                  ((functoriality F G).obj A).pt = G.obj A.pt

                                                                                                  Functoriality is functorial.

                                                                                                  Instances For

                                                                                                    Functoriality is functorial.

                                                                                                    Instances For

                                                                                                      If e : C ≌ D is an equivalence of categories, then functoriality F e.functor induces an equivalence between cones over F and cones over F ⋙ e.functor.

                                                                                                      Instances For

                                                                                                        If e : C ≌ D is an equivalence of categories, then functoriality F e.functor induces an equivalence between cocones over F and cocones over F ⋙ e.functor.

                                                                                                        Instances For

                                                                                                          If F reflects isomorphisms, then functoriality F reflects isomorphisms as well.

                                                                                                          If F reflects isomorphisms, then Cocones.functoriality F reflects isomorphisms as well.

                                                                                                          @[deprecated CategoryTheory.Limits.Cone.ext (since := "2026-03-06")]
                                                                                                          def CategoryTheory.Limits.Cones.ext {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cone F} (φ : c.pt c'.pt) (w : ∀ (j : J), c.π.app j = CategoryStruct.comp φ.hom (c'.π.app j) := by cat_disch) :
                                                                                                          c c'

                                                                                                          Alias of CategoryTheory.Limits.Cone.ext.


                                                                                                          To give an isomorphism between cones, it suffices to give an isomorphism between their vertices which commutes with the cone maps.

                                                                                                          Instances For
                                                                                                            @[deprecated CategoryTheory.Limits.Cone.eta (since := "2026-03-06")]
                                                                                                            def CategoryTheory.Limits.Cones.eta {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cone F) :
                                                                                                            c { pt := c.pt, π := c.π }

                                                                                                            Alias of CategoryTheory.Limits.Cone.eta.


                                                                                                            Eta rule for cones.

                                                                                                            Instances For
                                                                                                              @[deprecated CategoryTheory.Limits.Cone.cone_iso_of_hom_iso (since := "2026-03-06")]
                                                                                                              theorem CategoryTheory.Limits.Cones.cone_iso_of_hom_iso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {K : Functor J C} {c d : Cone K} (f : c d) [i : IsIso f.hom] :

                                                                                                              Alias of CategoryTheory.Limits.Cone.cone_iso_of_hom_iso.


                                                                                                              Given a cone morphism whose object part is an isomorphism, produce an isomorphism of cones.

                                                                                                              @[deprecated CategoryTheory.Limits.Cone.extendHom (since := "2026-03-06")]
                                                                                                              def CategoryTheory.Limits.Cones.extend {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X : C} (f : X s.pt) :
                                                                                                              s.extend f s

                                                                                                              Alias of CategoryTheory.Limits.Cone.extendHom.


                                                                                                              There is a morphism from an extended cone to the original cone.

                                                                                                              Instances For
                                                                                                                @[deprecated CategoryTheory.Limits.Cone.extendId (since := "2026-03-06")]

                                                                                                                Alias of CategoryTheory.Limits.Cone.extendId.


                                                                                                                Extending a cone by the identity does nothing.

                                                                                                                Instances For
                                                                                                                  @[deprecated CategoryTheory.Limits.Cone.extendComp (since := "2026-03-06")]
                                                                                                                  def CategoryTheory.Limits.Cones.extendComp {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X Y : C} (f : X Y) (g : Y s.pt) :

                                                                                                                  Alias of CategoryTheory.Limits.Cone.extendComp.


                                                                                                                  Extending a cone by a composition is the same as extending the cone twice.

                                                                                                                  Instances For
                                                                                                                    @[deprecated CategoryTheory.Limits.Cone.extendIso (since := "2026-03-06")]
                                                                                                                    def CategoryTheory.Limits.Cones.extendIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cone F) {X : C} (f : s.pt X) :
                                                                                                                    s s.extend f.inv

                                                                                                                    Alias of CategoryTheory.Limits.Cone.extendIso.


                                                                                                                    A cone extended by an isomorphism is isomorphic to the original cone.

                                                                                                                    Instances For
                                                                                                                      @[deprecated CategoryTheory.Limits.Cone.postcompose (since := "2026-03-06")]

                                                                                                                      Alias of CategoryTheory.Limits.Cone.postcompose.


                                                                                                                      Functorially postcompose a cone for F by a natural transformation F ⟶ G to give a cone for G.

                                                                                                                      Instances For
                                                                                                                        @[deprecated CategoryTheory.Limits.Cone.postcomposeComp (since := "2026-03-06")]

                                                                                                                        Alias of CategoryTheory.Limits.Cone.postcomposeComp.


                                                                                                                        Postcomposing a cone by the composite natural transformation α ≫ β is the same as postcomposing by α and then by β.

                                                                                                                        Instances For
                                                                                                                          @[deprecated CategoryTheory.Limits.Cone.postcomposeId (since := "2026-03-06")]

                                                                                                                          Alias of CategoryTheory.Limits.Cone.postcomposeId.


                                                                                                                          Postcomposing by the identity does not change the cone up to isomorphism.

                                                                                                                          Instances For
                                                                                                                            @[deprecated CategoryTheory.Limits.Cone.postcomposeEquivalence (since := "2026-03-06")]

                                                                                                                            Alias of CategoryTheory.Limits.Cone.postcomposeEquivalence.


                                                                                                                            If F and G are naturally isomorphic functors, then they have equivalent categories of cones.

                                                                                                                            Instances For
                                                                                                                              @[deprecated CategoryTheory.Limits.Cone.whiskering (since := "2026-03-06")]

                                                                                                                              Alias of CategoryTheory.Limits.Cone.whiskering.


                                                                                                                              Whiskering on the left by E : K ⥤ J gives a functor from Cone F to Cone (E ⋙ F).

                                                                                                                              Instances For
                                                                                                                                @[deprecated CategoryTheory.Limits.Cone.whiskeringEquivalence (since := "2026-03-06")]

                                                                                                                                Alias of CategoryTheory.Limits.Cone.whiskeringEquivalence.


                                                                                                                                Whiskering by an equivalence gives an equivalence between categories of cones.

                                                                                                                                Instances For
                                                                                                                                  @[deprecated CategoryTheory.Limits.Cone.equivalenceOfReindexing (since := "2026-03-06")]
                                                                                                                                  def CategoryTheory.Limits.Cones.equivalenceOfReindexing {J : Type u₁} [Category.{v₁, u₁} J] {K : Type u₂} [Category.{v₂, u₂} K] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {G : Functor K C} (e : K J) (α : e.functor.comp F G) :

                                                                                                                                  Alias of CategoryTheory.Limits.Cone.equivalenceOfReindexing.


                                                                                                                                  The categories of cones over F and G are equivalent if F and G are naturally isomorphic (possibly after changing the indexing category by an equivalence).

                                                                                                                                  Instances For
                                                                                                                                    @[deprecated CategoryTheory.Limits.Cone.forget (since := "2026-03-06")]

                                                                                                                                    Alias of CategoryTheory.Limits.Cone.forget.


                                                                                                                                    Forget the cone structure and obtain just the cone point.

                                                                                                                                    Instances For
                                                                                                                                      @[deprecated CategoryTheory.Limits.Cone.functoriality (since := "2026-03-06")]

                                                                                                                                      Alias of CategoryTheory.Limits.Cone.functoriality.


                                                                                                                                      A functor G : C ⥤ D sends cones over F to cones over F ⋙ G functorially.

                                                                                                                                      Instances For
                                                                                                                                        @[deprecated CategoryTheory.Limits.Cone.functorialityCompFunctoriality (since := "2026-03-06")]

                                                                                                                                        Alias of CategoryTheory.Limits.Cone.functorialityCompFunctoriality.


                                                                                                                                        Functoriality is functorial.

                                                                                                                                        Instances For
                                                                                                                                          @[deprecated CategoryTheory.Limits.Cone.functoriality_full (since := "2026-03-06")]

                                                                                                                                          Alias of CategoryTheory.Limits.Cone.functoriality_full.

                                                                                                                                          @[deprecated CategoryTheory.Limits.Cone.functoriality_faithful (since := "2026-03-06")]

                                                                                                                                          Alias of CategoryTheory.Limits.Cone.functoriality_faithful.

                                                                                                                                          @[deprecated CategoryTheory.Limits.Cone.functorialityEquivalence (since := "2026-03-06")]

                                                                                                                                          Alias of CategoryTheory.Limits.Cone.functorialityEquivalence.


                                                                                                                                          If e : C ≌ D is an equivalence of categories, then functoriality F e.functor induces an equivalence between cones over F and cones over F ⋙ e.functor.

                                                                                                                                          Instances For
                                                                                                                                            @[deprecated CategoryTheory.Limits.Cone.reflects_cone_isomorphism (since := "2026-03-06")]

                                                                                                                                            Alias of CategoryTheory.Limits.Cone.reflects_cone_isomorphism.


                                                                                                                                            If F reflects isomorphisms, then functoriality F reflects isomorphisms as well.

                                                                                                                                            @[deprecated CategoryTheory.Limits.Cocone.ext (since := "2026-03-06")]
                                                                                                                                            def CategoryTheory.Limits.Cocones.ext {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {c c' : Cocone F} (φ : c.pt c'.pt) (w : ∀ (j : J), CategoryStruct.comp (c.ι.app j) φ.hom = c'.ι.app j := by cat_disch) :
                                                                                                                                            c c'

                                                                                                                                            Alias of CategoryTheory.Limits.Cocone.ext.


                                                                                                                                            To give an isomorphism between cocones, it suffices to give an isomorphism between their vertices which commutes with the cocone maps.

                                                                                                                                            Instances For
                                                                                                                                              @[deprecated CategoryTheory.Limits.Cocone.eta (since := "2026-03-06")]
                                                                                                                                              def CategoryTheory.Limits.Cocones.eta {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (c : Cocone F) :
                                                                                                                                              c { pt := c.pt, ι := c.ι }

                                                                                                                                              Alias of CategoryTheory.Limits.Cocone.eta.


                                                                                                                                              Eta rule for cocones.

                                                                                                                                              Instances For
                                                                                                                                                @[deprecated CategoryTheory.Limits.Cocone.cocone_iso_of_hom_iso (since := "2026-03-06")]
                                                                                                                                                theorem CategoryTheory.Limits.Cocones.cone_iso_of_hom_iso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {K : Functor J C} {c d : Cocone K} (f : d c) [i : IsIso f.hom] :

                                                                                                                                                Alias of CategoryTheory.Limits.Cocone.cocone_iso_of_hom_iso.


                                                                                                                                                Given a cocone morphism whose object part is an isomorphism, produce an isomorphism of cocones.

                                                                                                                                                @[deprecated CategoryTheory.Limits.Cocone.extendHom (since := "2026-03-06")]
                                                                                                                                                def CategoryTheory.Limits.Cocones.extend {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X : C} (f : s.pt X) :
                                                                                                                                                s s.extend f

                                                                                                                                                Alias of CategoryTheory.Limits.Cocone.extendHom.


                                                                                                                                                There is a morphism from a cocone to its extension.

                                                                                                                                                Instances For
                                                                                                                                                  @[deprecated CategoryTheory.Limits.Cocone.extendId (since := "2026-03-06")]

                                                                                                                                                  Alias of CategoryTheory.Limits.Cocone.extendId.


                                                                                                                                                  Extending a cocone by the identity does nothing.

                                                                                                                                                  Instances For
                                                                                                                                                    @[deprecated CategoryTheory.Limits.Cocone.extendComp (since := "2026-03-06")]
                                                                                                                                                    def CategoryTheory.Limits.Cocones.extendComp {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X Y : C} (g : s.pt Y) (f : Y X) :

                                                                                                                                                    Alias of CategoryTheory.Limits.Cocone.extendComp.


                                                                                                                                                    Extending a cocone by a composition is the same as extending the cone twice.

                                                                                                                                                    Instances For
                                                                                                                                                      @[deprecated CategoryTheory.Limits.Cocone.extendIso (since := "2026-03-06")]
                                                                                                                                                      def CategoryTheory.Limits.Cocones.extendIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} (s : Cocone F) {X : C} (f : s.pt X) :
                                                                                                                                                      s s.extend f.hom

                                                                                                                                                      Alias of CategoryTheory.Limits.Cocone.extendIso.


                                                                                                                                                      A cocone extended by an isomorphism is isomorphic to the original cone.

                                                                                                                                                      Instances For
                                                                                                                                                        @[deprecated CategoryTheory.Limits.Cocone.precompose (since := "2026-03-06")]

                                                                                                                                                        Alias of CategoryTheory.Limits.Cocone.precompose.


                                                                                                                                                        Functorially precompose a cocone for F by a natural transformation G ⟶ F to give a cocone for G.

                                                                                                                                                        Instances For
                                                                                                                                                          @[deprecated CategoryTheory.Limits.Cocone.precomposeComp (since := "2026-03-06")]

                                                                                                                                                          Alias of CategoryTheory.Limits.Cocone.precomposeComp.


                                                                                                                                                          Precomposing a cocone by the composite natural transformation α ≫ β is the same as precomposing by β and then by α.

                                                                                                                                                          Instances For
                                                                                                                                                            @[deprecated CategoryTheory.Limits.Cocone.precomposeId (since := "2026-03-06")]

                                                                                                                                                            Alias of CategoryTheory.Limits.Cocone.precomposeId.


                                                                                                                                                            Precomposing by the identity does not change the cocone up to isomorphism.

                                                                                                                                                            Instances For
                                                                                                                                                              @[deprecated CategoryTheory.Limits.Cocone.precomposeEquivalence (since := "2026-03-06")]

                                                                                                                                                              Alias of CategoryTheory.Limits.Cocone.precomposeEquivalence.


                                                                                                                                                              If F and G are naturally isomorphic functors, then they have equivalent categories of cocones.

                                                                                                                                                              Instances For
                                                                                                                                                                @[deprecated CategoryTheory.Limits.Cocone.whiskering (since := "2026-03-06")]

                                                                                                                                                                Alias of CategoryTheory.Limits.Cocone.whiskering.


                                                                                                                                                                Whiskering on the left by E : K ⥤ J gives a functor from Cocone F to Cocone (E ⋙ F).

                                                                                                                                                                Instances For
                                                                                                                                                                  @[deprecated CategoryTheory.Limits.Cocone.whiskeringEquivalence (since := "2026-03-06")]

                                                                                                                                                                  Alias of CategoryTheory.Limits.Cocone.whiskeringEquivalence.


                                                                                                                                                                  Whiskering by an equivalence gives an equivalence between categories of cones.

                                                                                                                                                                  Instances For
                                                                                                                                                                    @[deprecated CategoryTheory.Limits.Cocone.equivalenceOfReindexing (since := "2026-03-06")]

                                                                                                                                                                    Alias of CategoryTheory.Limits.Cocone.equivalenceOfReindexing.


                                                                                                                                                                    The categories of cocones over F and G are equivalent if F and G are naturally isomorphic (possibly after changing the indexing category by an equivalence).

                                                                                                                                                                    Instances For
                                                                                                                                                                      @[deprecated CategoryTheory.Limits.Cocone.forget (since := "2026-03-06")]

                                                                                                                                                                      Alias of CategoryTheory.Limits.Cocone.forget.


                                                                                                                                                                      Forget the cocone structure and obtain just the cocone point.

                                                                                                                                                                      Instances For
                                                                                                                                                                        @[deprecated CategoryTheory.Limits.Cocone.functoriality (since := "2026-03-06")]

                                                                                                                                                                        Alias of CategoryTheory.Limits.Cocone.functoriality.


                                                                                                                                                                        A functor G : C ⥤ D sends cocones over F to cocones over F ⋙ G functorially.

                                                                                                                                                                        Instances For
                                                                                                                                                                          @[deprecated CategoryTheory.Limits.Cocone.functorialityCompFunctoriality (since := "2026-03-06")]

                                                                                                                                                                          Alias of CategoryTheory.Limits.Cocone.functorialityCompFunctoriality.


                                                                                                                                                                          Functoriality is functorial.

                                                                                                                                                                          Instances For
                                                                                                                                                                            @[deprecated CategoryTheory.Limits.Cocone.functoriality_full (since := "2026-03-06")]

                                                                                                                                                                            Alias of CategoryTheory.Limits.Cocone.functoriality_full.

                                                                                                                                                                            @[deprecated CategoryTheory.Limits.Cocone.functoriality_faithful (since := "2026-03-06")]

                                                                                                                                                                            Alias of CategoryTheory.Limits.Cocone.functoriality_faithful.

                                                                                                                                                                            @[deprecated CategoryTheory.Limits.Cocone.functorialityEquivalence (since := "2026-03-06")]

                                                                                                                                                                            Alias of CategoryTheory.Limits.Cocone.functorialityEquivalence.


                                                                                                                                                                            If e : C ≌ D is an equivalence of categories, then functoriality F e.functor induces an equivalence between cocones over F and cocones over F ⋙ e.functor.

                                                                                                                                                                            Instances For
                                                                                                                                                                              @[deprecated CategoryTheory.Limits.Cocone.reflects_cocone_isomorphism (since := "2026-03-06")]

                                                                                                                                                                              Alias of CategoryTheory.Limits.Cocone.reflects_cocone_isomorphism.


                                                                                                                                                                              If F reflects isomorphisms, then Cocones.functoriality F reflects isomorphisms as well.

                                                                                                                                                                              The image of a cone in C under a functor G : C ⥤ D is a cone in D.

                                                                                                                                                                              Instances For

                                                                                                                                                                                The image of a cocone in C under a functor G : C ⥤ D is a cocone in D.

                                                                                                                                                                                Instances For
                                                                                                                                                                                  @[simp]
                                                                                                                                                                                  theorem CategoryTheory.Functor.mapCocone_ι_app {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (H : Functor C D) {F : Functor J C} (c : Limits.Cocone F) (j : J) :
                                                                                                                                                                                  (H.mapCocone c).ι.app j = H.map (c.ι.app j)
                                                                                                                                                                                  @[simp]
                                                                                                                                                                                  theorem CategoryTheory.Functor.mapCone_π_app {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (H : Functor C D) {F : Functor J C} (c : Limits.Cone F) (j : J) :
                                                                                                                                                                                  (H.mapCone c).π.app j = H.map (c.π.app j)
                                                                                                                                                                                  @[simp]
                                                                                                                                                                                  theorem CategoryTheory.Functor.mapCone_pt {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (H : Functor C D) {F : Functor J C} (c : Limits.Cone F) :
                                                                                                                                                                                  (H.mapCone c).pt = H.obj c.pt
                                                                                                                                                                                  @[simp]
                                                                                                                                                                                  theorem CategoryTheory.Functor.mapCocone_pt {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (H : Functor C D) {F : Functor J C} (c : Limits.Cocone F) :
                                                                                                                                                                                  (H.mapCocone c).pt = H.obj c.pt
                                                                                                                                                                                  noncomputable def CategoryTheory.Functor.mapConeMapCone {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {E : Type u₅} [Category.{v₅, u₅} E] {F : Functor J C} {H : Functor C D} {H' : Functor D E} (c : Limits.Cone F) :
                                                                                                                                                                                  H'.mapCone (H.mapCone c) (H.comp H').mapCone c

                                                                                                                                                                                  The construction mapCone respects functor composition.

                                                                                                                                                                                  Instances For
                                                                                                                                                                                    noncomputable def CategoryTheory.Functor.mapCoconeMapCocone {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {E : Type u₅} [Category.{v₅, u₅} E] {F : Functor J C} {H : Functor C D} {H' : Functor D E} (c : Limits.Cocone F) :

                                                                                                                                                                                    The construction mapCocone respects functor composition.

                                                                                                                                                                                    Instances For
                                                                                                                                                                                      def CategoryTheory.Functor.mapConeMorphism {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (H : Functor C D) {F : Functor J C} {c c' : Limits.Cone F} (f : c c') :

                                                                                                                                                                                      Given a cone morphism c ⟶ c', construct a cone morphism on the mapped cones functorially.

                                                                                                                                                                                      Instances For
                                                                                                                                                                                        def CategoryTheory.Functor.mapCoconeMorphism {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (H : Functor C D) {F : Functor J C} {c c' : Limits.Cocone F} (f : c' c) :

                                                                                                                                                                                        Given a cocone morphism c ⟶ c', construct a cocone morphism on the mapped cocones functorially.

                                                                                                                                                                                        Instances For
                                                                                                                                                                                          noncomputable def CategoryTheory.Functor.mapConeInv {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (H : Functor C D) {F : Functor J C} [H.IsEquivalence] (c : Limits.Cone (F.comp H)) :

                                                                                                                                                                                          If H is an equivalence, we invert H.mapCone and get a cone for F from a cone for F ⋙ H.

                                                                                                                                                                                          Instances For
                                                                                                                                                                                            noncomputable def CategoryTheory.Functor.mapCoconeInv {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] (H : Functor C D) {F : Functor J C} [H.IsEquivalence] (c : Limits.Cocone (F.comp H)) :

                                                                                                                                                                                            If H is an equivalence, we invert H.mapCone and get a cone for F from a cone for F ⋙ H.

                                                                                                                                                                                            Instances For
                                                                                                                                                                                              noncomputable def CategoryTheory.Functor.mapConeMapConeInv {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {F : Functor J D} (H : Functor D C) [H.IsEquivalence] (c : Limits.Cone (F.comp H)) :

                                                                                                                                                                                              mapCone is the left inverse to mapConeInv.

                                                                                                                                                                                              Instances For

                                                                                                                                                                                                mapCocone is the left inverse to mapCoconeInv.

                                                                                                                                                                                                Instances For
                                                                                                                                                                                                  noncomputable def CategoryTheory.Functor.mapConeInvMapCone {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {F : Functor J D} (H : Functor D C) [H.IsEquivalence] (c : Limits.Cone F) :

                                                                                                                                                                                                  mapCone is the right inverse to mapConeInv.

                                                                                                                                                                                                  Instances For

                                                                                                                                                                                                    mapCocone is the right inverse to mapCoconeInv.

                                                                                                                                                                                                    Instances For

                                                                                                                                                                                                      For F : J ⥤ C, given a cone c : Cone F, and a natural isomorphism α : H ≅ H' for functors H H' : C ⥤ D, the postcomposition of the cone H.mapCone using the isomorphism α is isomorphic to the cone H'.mapCone.

                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                        For F : J ⥤ C, given a cocone c : Cocone F, and a natural isomorphism α : H ≅ H' for functors H H' : C ⥤ D, the precomposition of the cocone H.mapCocone using the isomorphism α is isomorphic to the cocone H'.mapCocone.

                                                                                                                                                                                                        Instances For

                                                                                                                                                                                                          mapCone commutes with postcompose. In particular, for F : J ⥤ C, given a cone c : Cone F, a natural transformation α : F ⟶ G and a functor H : C ⥤ D, we have two obvious ways of producing a cone over G ⋙ H, and they are both isomorphic.

                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                            map_cocone commutes with precompose. In particular, for F : J ⥤ C, given a cocone c : Cocone F, a natural transformation α : F ⟶ G and a functor H : C ⥤ D, we have two obvious ways of producing a cocone over G ⋙ H, and they are both isomorphic.

                                                                                                                                                                                                            Instances For

                                                                                                                                                                                                              Change a Cone F into a Cocone F.op.

                                                                                                                                                                                                              Instances For

                                                                                                                                                                                                                Change a Cocone F into a Cone F.op.

                                                                                                                                                                                                                Instances For

                                                                                                                                                                                                                  Change a Cone F.op into a Cocone F.

                                                                                                                                                                                                                  Instances For

                                                                                                                                                                                                                    Change a Cocone F.op into a Cone F.

                                                                                                                                                                                                                    Instances For

                                                                                                                                                                                                                      The category of cocones on F is equivalent to the opposite category of the category of cones on the opposite of F.

                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                        The category of cones on F is equivalent to the opposite category of the category of cocones on the opposite of F.

                                                                                                                                                                                                                        Instances For

                                                                                                                                                                                                                          Cones on F : J ⥤ C are equivalent to cocones on F.op : Jᵒᵖ ⥤ Cᵒᵖ.

                                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                                            Cocones on F : J ⥤ C are equivalent to cones on F.op : Jᵒᵖ ⥤ Cᵒᵖ.

                                                                                                                                                                                                                            Instances For
                                                                                                                                                                                                                              @[simp]
                                                                                                                                                                                                                              theorem CategoryTheory.Limits.coconeOpEquiv_functor_map_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {x✝ x✝¹ : (Cocone F)ᵒᵖ} (f : x✝ x✝¹) :
                                                                                                                                                                                                                              @[simp]
                                                                                                                                                                                                                              theorem CategoryTheory.Limits.coconeOpEquiv_inverse_map {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {x✝ x✝¹ : Cone F.op} (f : x✝ x✝¹) :
                                                                                                                                                                                                                              coconeOpEquiv.inverse.map f = Opposite.op { hom := f.hom.unop, w := }
                                                                                                                                                                                                                              @[simp]
                                                                                                                                                                                                                              theorem CategoryTheory.Limits.coneOpEquiv_inverse_map {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {X✝ Y✝ : Cocone F.op} (f : X✝ Y✝) :
                                                                                                                                                                                                                              coneOpEquiv.inverse.map f = Opposite.op { hom := f.hom.unop, w := }
                                                                                                                                                                                                                              @[simp]
                                                                                                                                                                                                                              theorem CategoryTheory.Limits.coconeOpEquiv_counitIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} :
                                                                                                                                                                                                                              coconeOpEquiv.counitIso = Iso.refl ({ obj := fun (c : Cone F.op) => Opposite.op c.unop, map := fun {x x_1 : Cone F.op} (f : x x_1) => Opposite.op { hom := f.hom.unop, w := }, map_id := , map_comp := }.comp { obj := fun (c : (Cocone F)ᵒᵖ) => (Opposite.unop c).op, map := fun {x x_1 : (Cocone F)ᵒᵖ} (f : x x_1) => { hom := f.unop.hom.op, w := }, map_id := , map_comp := })
                                                                                                                                                                                                                              @[simp]
                                                                                                                                                                                                                              theorem CategoryTheory.Limits.coneOpEquiv_functor_map_hom {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} {X✝ Y✝ : (Cone F)ᵒᵖ} (f : X✝ Y✝) :
                                                                                                                                                                                                                              @[simp]
                                                                                                                                                                                                                              theorem CategoryTheory.Limits.coneOpEquiv_counitIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J C} :
                                                                                                                                                                                                                              coneOpEquiv.counitIso = Iso.refl ({ obj := fun (c : Cocone F.op) => Opposite.op c.unop, map := fun {X Y : Cocone F.op} (f : X Y) => Opposite.op { hom := f.hom.unop, w := }, map_id := , map_comp := }.comp { obj := fun (c : (Cone F)ᵒᵖ) => (Opposite.unop c).op, map := fun {X Y : (Cone F)ᵒᵖ} (f : X Y) => { hom := f.unop.hom.op, w := }, map_id := , map_comp := })

                                                                                                                                                                                                                              Change a cocone on F.leftOp : Jᵒᵖ ⥤ C to a cocone on F : J ⥤ Cᵒᵖ.

                                                                                                                                                                                                                              Instances For

                                                                                                                                                                                                                                Change a cone on F.leftOp : Jᵒᵖ ⥤ C to a cocone on F : J ⥤ Cᵒᵖ.

                                                                                                                                                                                                                                Instances For

                                                                                                                                                                                                                                  Change a cone on F : J ⥤ Cᵒᵖ to a cocone on F.leftOp : Jᵒᵖ ⥤ C.

                                                                                                                                                                                                                                  Instances For

                                                                                                                                                                                                                                    Change a cocone on F : J ⥤ Cᵒᵖ to a cone on F.leftOp : Jᵒᵖ ⥤ C.

                                                                                                                                                                                                                                    Instances For

                                                                                                                                                                                                                                      Cones on F : J ⥤ Cᵒᵖ are equivalent to cocones on F.leftOp : Jᵒᵖ ⥤ C.

                                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                                        Cocones on F : J ⥤ Cᵒᵖ are equivalent to cones on F.leftOp : Jᵒᵖ ⥤ C.

                                                                                                                                                                                                                                        Instances For
                                                                                                                                                                                                                                          @[simp]
                                                                                                                                                                                                                                          theorem CategoryTheory.Limits.coconeLeftOpOfConeEquiv_counitIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J Cᵒᵖ} :
                                                                                                                                                                                                                                          coconeLeftOpOfConeEquiv.counitIso = Iso.refl ({ obj := fun (c : Cocone F.leftOp) => Opposite.op (coneOfCoconeLeftOp c), map := fun {X Y : Cocone F.leftOp} (f : X Y) => Opposite.op { hom := f.hom.op, w := }, map_id := , map_comp := }.comp { obj := fun (c : (Cone F)ᵒᵖ) => coconeLeftOpOfCone (Opposite.unop c), map := fun {X Y : (Cone F)ᵒᵖ} (f : X Y) => { hom := f.unop.hom.unop, w := }, map_id := , map_comp := })
                                                                                                                                                                                                                                          @[simp]
                                                                                                                                                                                                                                          theorem CategoryTheory.Limits.coneLeftOpOfCoconeEquiv_counitIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor J Cᵒᵖ} :
                                                                                                                                                                                                                                          coneLeftOpOfCoconeEquiv.counitIso = Iso.refl ({ obj := fun (c : Cone F.leftOp) => Opposite.op (coconeOfConeLeftOp c), map := fun {x x_1 : Cone F.leftOp} (f : x x_1) => Opposite.op { hom := f.hom.op, w := }, map_id := , map_comp := }.comp { obj := fun (c : (Cocone F)ᵒᵖ) => coneLeftOpOfCocone (Opposite.unop c), map := fun {x x_1 : (Cocone F)ᵒᵖ} (f : x x_1) => { hom := f.unop.hom.unop, w := }, map_id := , map_comp := })

                                                                                                                                                                                                                                          Change a cocone on F.rightOp : J ⥤ Cᵒᵖ to a cone on F : Jᵒᵖ ⥤ C.

                                                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                                                            Change a cone on F.rightOp : J ⥤ Cᵒᵖ to a cocone on F : Jᵒᵖ ⥤ C.

                                                                                                                                                                                                                                            Instances For

                                                                                                                                                                                                                                              Change a cone on F : Jᵒᵖ ⥤ C to a cocone on F.rightOp : Jᵒᵖ ⥤ C.

                                                                                                                                                                                                                                              Instances For

                                                                                                                                                                                                                                                Change a cocone on F : Jᵒᵖ ⥤ C to a cone on F.rightOp : J ⥤ Cᵒᵖ.

                                                                                                                                                                                                                                                Instances For

                                                                                                                                                                                                                                                  Cones on F : Jᵒᵖ ⥤ C are equivalent to cocones on F.rightOp : J ⥤ Cᵒᵖ.

                                                                                                                                                                                                                                                  Instances For

                                                                                                                                                                                                                                                    Cocones on F : Jᵒᵖ ⥤ C are equivalent to cones on F.rightOp : J ⥤ Cᵒᵖ.

                                                                                                                                                                                                                                                    Instances For
                                                                                                                                                                                                                                                      @[simp]
                                                                                                                                                                                                                                                      theorem CategoryTheory.Limits.coconeRightOpOfConeEquiv_counitIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor Jᵒᵖ C} :
                                                                                                                                                                                                                                                      coconeRightOpOfConeEquiv.counitIso = Iso.refl ({ obj := fun (c : Cocone F.rightOp) => Opposite.op (coneOfCoconeRightOp c), map := fun {X Y : Cocone F.rightOp} (f : X Y) => Opposite.op { hom := f.hom.unop, w := }, map_id := , map_comp := }.comp { obj := fun (c : (Cone F)ᵒᵖ) => coconeRightOpOfCone (Opposite.unop c), map := fun {X Y : (Cone F)ᵒᵖ} (f : X Y) => { hom := f.unop.hom.op, w := }, map_id := , map_comp := })
                                                                                                                                                                                                                                                      @[simp]
                                                                                                                                                                                                                                                      theorem CategoryTheory.Limits.coneRightOpOfCoconeEquiv_counitIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor Jᵒᵖ C} :
                                                                                                                                                                                                                                                      coneRightOpOfCoconeEquiv.counitIso = Iso.refl ({ obj := fun (c : Cone F.rightOp) => Opposite.op (coconeOfConeRightOp c), map := fun {x x_1 : Cone F.rightOp} (f : x x_1) => Opposite.op { hom := f.hom.unop, w := }, map_id := , map_comp := }.comp { obj := fun (c : (Cocone F)ᵒᵖ) => coneRightOpOfCocone (Opposite.unop c), map := fun {x x_1 : (Cocone F)ᵒᵖ} (f : x x_1) => { hom := f.unop.hom.op, w := }, map_id := , map_comp := })

                                                                                                                                                                                                                                                      Change a cocone on F.unop : J ⥤ C into a cone on F : Jᵒᵖ ⥤ Cᵒᵖ.

                                                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                                                        Change a cone on F.unop : J ⥤ C into a cocone on F : Jᵒᵖ ⥤ Cᵒᵖ.

                                                                                                                                                                                                                                                        Instances For

                                                                                                                                                                                                                                                          Change a cone on F : Jᵒᵖ ⥤ Cᵒᵖ into a cocone on F.unop : J ⥤ C.

                                                                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                                                                            Change a cocone on F : Jᵒᵖ ⥤ Cᵒᵖ into a cone on F.unop : J ⥤ C.

                                                                                                                                                                                                                                                            Instances For

                                                                                                                                                                                                                                                              Cones on F : Jᵒᵖ ⥤ Cᵒᵖ are equivalent to cocones on F.unop : J ⥤ C.

                                                                                                                                                                                                                                                              Instances For

                                                                                                                                                                                                                                                                Cocones on F : Jᵒᵖ ⥤ Cᵒᵖ are equivalent to cones on F.unop : J ⥤ C.

                                                                                                                                                                                                                                                                Instances For
                                                                                                                                                                                                                                                                  @[simp]
                                                                                                                                                                                                                                                                  theorem CategoryTheory.Limits.coneUnopOfCoconeEquiv_counitIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor Jᵒᵖ Cᵒᵖ} :
                                                                                                                                                                                                                                                                  coneUnopOfCoconeEquiv.counitIso = Iso.refl ({ obj := fun (c : Cone F.unop) => Opposite.op (coconeOfConeUnop c), map := fun {x x_1 : Cone F.unop} (f : x x_1) => Opposite.op { hom := f.hom.op, w := }, map_id := , map_comp := }.comp { obj := fun (c : (Cocone F)ᵒᵖ) => coneUnopOfCocone (Opposite.unop c), map := fun {x x_1 : (Cocone F)ᵒᵖ} (f : x x_1) => { hom := f.unop.hom.unop, w := }, map_id := , map_comp := })
                                                                                                                                                                                                                                                                  @[simp]
                                                                                                                                                                                                                                                                  theorem CategoryTheory.Limits.coconeUnopOfConeEquiv_counitIso {J : Type u₁} [Category.{v₁, u₁} J] {C : Type u₃} [Category.{v₃, u₃} C] {F : Functor Jᵒᵖ Cᵒᵖ} :
                                                                                                                                                                                                                                                                  coconeUnopOfConeEquiv.counitIso = Iso.refl ({ obj := fun (c : Cocone F.unop) => Opposite.op (coneOfCoconeUnop c), map := fun {X Y : Cocone F.unop} (f : X Y) => Opposite.op { hom := f.hom.op, w := }, map_id := , map_comp := }.comp { obj := fun (c : (Cone F)ᵒᵖ) => coconeUnopOfCone (Opposite.unop c), map := fun {X Y : (Cone F)ᵒᵖ} (f : X Y) => { hom := f.unop.hom.unop, w := }, map_id := , map_comp := })

                                                                                                                                                                                                                                                                  The opposite cocone of the image of a cone is the image of the opposite cocone.

                                                                                                                                                                                                                                                                  Instances For

                                                                                                                                                                                                                                                                    The opposite cone of the image of a cocone is the image of the opposite cone.

                                                                                                                                                                                                                                                                    Instances For