Documentation

Mathlib.CategoryTheory.Whiskering

Whiskering #

Given a functor F : C ⥤ D and functors G H : D ⥤ E and a natural transformation α : G ⟶ H, we can construct a new natural transformation F ⋙ G ⟶ F ⋙ H, called whiskerLeft F α. This is the same as the horizontal composition of 𝟙 F with α.

This operation is functorial in F, and we package this as whiskeringLeft. Here (whiskeringLeft.obj F).obj G is F ⋙ G, and (whiskeringLeft.obj F).map α is whiskerLeft F α. (That is, we might have alternatively named this as the "left composition functor".)

We also provide analogues for composition on the right, and for these operations on isomorphisms.

We show the associator and unitor natural isomorphisms satisfy the triangle and pentagon identities.

@[implicit_reducible]
def CategoryTheory.Functor.whiskerLeft {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (α : G H) :
F.comp G F.comp H

If α : G ⟶ H then whiskerLeft F α : F ⋙ G ⟶ F ⋙ H has components α.app (F.obj X).

Equations
Instances For
    @[simp]
    theorem CategoryTheory.Functor.whiskerLeft_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (α : G H) (X : C) :
    (F.whiskerLeft α).app X = α.app (F.obj X)
    @[simp]
    theorem CategoryTheory.Functor.id_hcomp {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (α : G H) :
    @[implicit_reducible]
    def CategoryTheory.Functor.whiskerRight {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H : Functor C D} (α : G H) (F : Functor D E) :
    G.comp F H.comp F

    If α : G ⟶ H then whiskerRight α F : G ⋙ F ⟶ H ⋙ F has components F.map (α.app X).

    Equations
    Instances For
      @[simp]
      theorem CategoryTheory.Functor.whiskerRight_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H : Functor C D} (α : G H) (F : Functor D E) (X : C) :
      (whiskerRight α F).app X = F.map (α.app X)
      @[simp]
      theorem CategoryTheory.Functor.hcomp_id {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H : Functor C D} (α : G H) (F : Functor D E) :
      @[implicit_reducible]

      Left-composition gives a functor (C ⥤ D) ⥤ ((D ⥤ E) ⥤ (C ⥤ E)).

      (whiskeringLeft.obj F).obj G is F ⋙ G, and (whiskeringLeft.obj F).map α is whiskerLeft F α.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem CategoryTheory.Functor.whiskeringLeft_obj_map (C : Type u₁) [Category.{v₁, u₁} C] (D : Type u₂) [Category.{v₂, u₂} D] (E : Type u₃) [Category.{v₃, u₃} E] (F : Functor C D) {X✝ Y✝ : Functor D E} (α : X✝ Y✝) :
        ((whiskeringLeft C D E).obj F).map α = F.whiskerLeft α
        @[simp]
        theorem CategoryTheory.Functor.whiskeringLeft_map_app_app (C : Type u₁) [Category.{v₁, u₁} C] (D : Type u₂) [Category.{v₂, u₂} D] (E : Type u₃) [Category.{v₃, u₃} E] {X✝ Y✝ : Functor C D} (τ : X✝ Y✝) (H : Functor D E) (c : C) :
        (((whiskeringLeft C D E).map τ).app H).app c = H.map (τ.app c)
        @[simp]
        @[implicit_reducible]

        Right-composition gives a functor (D ⥤ E) ⥤ ((C ⥤ D) ⥤ (C ⥤ E)).

        (whiskeringRight.obj H).obj F is F ⋙ H, and (whiskeringRight.obj H).map α is whiskerRight α H.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem CategoryTheory.Functor.whiskeringRight_map_app_app (C : Type u₁) [Category.{v₁, u₁} C] (D : Type u₂) [Category.{v₂, u₂} D] (E : Type u₃) [Category.{v₃, u₃} E] {X✝ Y✝ : Functor D E} (τ : X✝ Y✝) (F : Functor C D) (c : C) :
          (((whiskeringRight C D E).map τ).app F).app c = τ.app (F.obj c)
          @[simp]
          theorem CategoryTheory.Functor.whiskeringRight_obj_map (C : Type u₁) [Category.{v₁, u₁} C] (D : Type u₂) [Category.{v₂, u₂} D] (E : Type u₃) [Category.{v₃, u₃} E] (H : Functor D E) {X✝ Y✝ : Functor C D} (α : X✝ Y✝) :
          ((whiskeringRight C D E).obj H).map α = whiskerRight α H
          @[simp]

          If F : D ⥤ E is fully faithful, then so is (whiskeringRight C D E).obj F : (C ⥤ D) ⥤ C ⥤ E.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem CategoryTheory.Functor.FullyFaithful.whiskeringRight_preimage_app {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {F : Functor D E} (hF : F.FullyFaithful) (C : Type u_1) [Category.{v_1, u_1} C] {X✝ Y✝ : Functor C D} (f : ((Functor.whiskeringRight C D E).obj F).obj X✝ ((Functor.whiskeringRight C D E).obj F).obj Y✝) (X : C) :
            ((hF.whiskeringRight C).preimage f).app X = hF.preimage (f.app X)

            The isomorphism between left-whiskering on the identity functor and the identity of the functor between the resulting functor categories.

            Equations
            Instances For
              theorem CategoryTheory.Functor.whiskeringLeft_obj_comp {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {D' : Type u₄} [Category.{v₄, u₄} D'] (F : Functor C D) (G : Functor D D') :
              (whiskeringLeft C D' E).obj (F.comp G) = ((whiskeringLeft D D' E).obj G).comp ((whiskeringLeft C D E).obj F)

              The isomorphism between left-whiskering on the composition of functors and the composition of two left-whiskering applications.

              Equations
              Instances For
                @[simp]
                theorem CategoryTheory.Functor.whiskeringLeftObjCompIso_inv_app_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {D' : Type u₄} [Category.{v₄, u₄} D'] (F : Functor C D) (G : Functor D D') (X : Functor D' E) (X✝ : C) :
                ((F.whiskeringLeftObjCompIso G).inv.app X).app X✝ = CategoryStruct.id (X.obj (G.obj (F.obj X✝)))
                @[simp]
                theorem CategoryTheory.Functor.whiskeringLeftObjCompIso_hom_app_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {D' : Type u₄} [Category.{v₄, u₄} D'] (F : Functor C D) (G : Functor D D') (X : Functor D' E) (X✝ : C) :
                ((F.whiskeringLeftObjCompIso G).hom.app X).app X✝ = CategoryStruct.id (X.obj (G.obj (F.obj X✝)))

                The isomorphism between right-whiskering on the identity functor and the identity of the functor between the resulting functor categories.

                Equations
                Instances For

                  The isomorphism between right-whiskering on the composition of functors and the composition of two right-whiskering applications.

                  Equations
                  Instances For
                    @[simp]
                    theorem CategoryTheory.Functor.whiskeringRightObjCompIso_hom_app_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {D' : Type u₄} [Category.{v₄, u₄} D'] (F : Functor C D) (G : Functor D D') (X : Functor E C) (X✝ : E) :
                    @[simp]
                    theorem CategoryTheory.Functor.whiskeringRightObjCompIso_inv_app_app {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {D' : Type u₄} [Category.{v₄, u₄} D'] (F : Functor C D) (G : Functor D D') (X : Functor E C) (X✝ : E) :
                    @[simp]
                    theorem CategoryTheory.Functor.whiskerLeft_comp {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H K : Functor D E} (α : G H) (β : H K) :
                    @[simp]
                    theorem CategoryTheory.Functor.whiskerRight_comp {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H K : Functor C D} (α : G H) (β : H K) (F : Functor D E) :
                    def CategoryTheory.Functor.isoWhiskerLeft {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (α : G H) :
                    F.comp G F.comp H

                    If α : G ≅ H is a natural isomorphism then isoWhiskerLeft F α : (F ⋙ G) ≅ (F ⋙ H) has components α.app (F.obj X).

                    Equations
                    Instances For
                      @[simp]
                      theorem CategoryTheory.Functor.isoWhiskerLeft_hom {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (α : G H) :
                      @[simp]
                      theorem CategoryTheory.Functor.isoWhiskerLeft_inv {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (α : G H) :
                      def CategoryTheory.Functor.isoWhiskerRight {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H : Functor C D} (α : G H) (F : Functor D E) :
                      G.comp F H.comp F

                      If α : G ≅ H then isoWhiskerRight α F : (G ⋙ F) ≅ (H ⋙ F) has components F.map_iso (α.app X).

                      Equations
                      Instances For
                        @[simp]
                        theorem CategoryTheory.Functor.isoWhiskerRight_hom {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H : Functor C D} (α : G H) (F : Functor D E) :
                        @[simp]
                        theorem CategoryTheory.Functor.isoWhiskerRight_inv {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H : Functor C D} (α : G H) (F : Functor D E) :
                        instance CategoryTheory.Functor.isIso_whiskerLeft {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (α : G H) [IsIso α] :
                        instance CategoryTheory.Functor.isIso_whiskerRight {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H : Functor C D} (α : G H) (F : Functor D E) [IsIso α] :
                        @[simp]
                        theorem CategoryTheory.Functor.inv_whiskerRight {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H : Functor C D} (α : G H) (F : Functor D E) [IsIso α] :
                        @[simp]
                        theorem CategoryTheory.Functor.inv_whiskerLeft {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H : Functor D E} (α : G H) [IsIso α] :
                        @[simp]
                        theorem CategoryTheory.Functor.isoWhiskerLeft_trans {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H K : Functor D E} (α : G H) (β : H K) :
                        theorem CategoryTheory.Functor.isoWhiskerLeft_trans_assoc {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] (F : Functor C D) {G H K : Functor D E} (α : G H) (β : H K) {Z : Functor C E} (h : F.comp K Z) :
                        @[simp]
                        theorem CategoryTheory.Functor.isoWhiskerRight_trans {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H K : Functor C D} (α : G H) (β : H K) (F : Functor D E) :
                        theorem CategoryTheory.Functor.isoWhiskerRight_trans_assoc {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {G H K : Functor C D} (α : G H) (β : H K) (F : Functor D E) {Z : Functor C E} (h : K.comp F Z) :
                        @[simp]
                        @[simp]
                        theorem CategoryTheory.Functor.isoWhiskerRight_twice_assoc {C : Type u₁} [Category.{v₁, u₁} C] {D : Type u₂} [Category.{v₂, u₂} D] {E : Type u₃} [Category.{v₃, u₃} E] {B : Type u₄} [Category.{v₄, u₄} B] {H K : Functor B C} (F : Functor C D) (G : Functor D E) (α : H K) {Z : Functor B E} (h : (K.comp F).comp G Z) :
                        theorem CategoryTheory.Functor.pentagonIso {A : Type u₁} [Category.{v₁, u₁} A] {B : Type u₂} [Category.{v₂, u₂} B] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {E : Type u₅} [Category.{v₅, u₅} E] (F : Functor A B) (G : Functor B C) (H : Functor C D) (K : Functor D E) :
                        theorem CategoryTheory.Functor.pentagonIso_assoc {A : Type u₁} [Category.{v₁, u₁} A] {B : Type u₂} [Category.{v₂, u₂} B] {C : Type u₃} [Category.{v₃, u₃} C] {D : Type u₄} [Category.{v₄, u₄} D] {E : Type u₅} [Category.{v₅, u₅} E] (F : Functor A B) (G : Functor B C) (H : Functor C D) (K : Functor D E) {Z : Functor A E} (h : F.comp (G.comp (H.comp K)) Z) :
                        @[implicit_reducible]
                        def CategoryTheory.Functor.whiskeringLeft₂ {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_5} {D₂ : Type u_6} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] (E : Type u_9) [Category.{v_9, u_9} E] :
                        Functor (Functor C₁ D₁) (Functor (Functor C₂ D₂) (Functor (Functor D₁ (Functor D₂ E)) (Functor C₁ (Functor C₂ E))))

                        The obvious functor (C₁ ⥤ D₁) ⥤ (C₂ ⥤ D₂) ⥤ (D₁ ⥤ D₂ ⥤ E) ⥤ (C₁ ⥤ C₂ ⥤ E).

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[simp]
                          theorem CategoryTheory.Functor.whiskeringLeft₂_obj_map_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_5} {D₂ : Type u_6} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {X✝ Y✝ : Functor C₂ D₂} (φ : X✝ Y✝) (X : Functor D₁ (Functor D₂ E)) (X✝¹ : C₁) (c : C₂) :
                          (((((whiskeringLeft₂ E).obj F₁).map φ).app X).app X✝¹).app c = (X.obj (F₁.obj X✝¹)).map (φ.app c)
                          @[simp]
                          theorem CategoryTheory.Functor.whiskeringLeft₂_map_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_5} {D₂ : Type u_6} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] (E : Type u_9) [Category.{v_9, u_9} E] {X✝ Y✝ : Functor C₁ D₁} (ψ : X✝ Y✝) (F₂ : Functor C₂ D₂) (X : Functor D₁ (Functor D₂ E)) (c : C₁) (X✝¹ : C₂) :
                          (((((whiskeringLeft₂ E).map ψ).app F₂).app X).app c).app X✝¹ = (X.map (ψ.app c)).app (F₂.obj X✝¹)
                          @[simp]
                          theorem CategoryTheory.Functor.whiskeringLeft₂_obj_obj_obj_obj_obj {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_5} {D₂ : Type u_6} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (X : Functor D₁ (Functor D₂ E)) (X✝ : C₁) (X✝¹ : C₂) :
                          (((((whiskeringLeft₂ E).obj F₁).obj F₂).obj X).obj X✝).obj X✝¹ = (X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)
                          @[simp]
                          theorem CategoryTheory.Functor.whiskeringLeft₂_obj_obj_obj_obj_map {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_5} {D₂ : Type u_6} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (X : Functor D₁ (Functor D₂ E)) (X✝ : C₁) {X✝¹ Y✝ : C₂} (f : X✝¹ Y✝) :
                          (((((whiskeringLeft₂ E).obj F₁).obj F₂).obj X).obj X✝).map f = (X.obj (F₁.obj X✝)).map (F₂.map f)
                          @[simp]
                          theorem CategoryTheory.Functor.whiskeringLeft₂_obj_obj_map_app_app {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_5} {D₂ : Type u_6} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {X✝ Y✝ : Functor D₁ (Functor D₂ E)} (f : X✝ Y✝) (X : C₁) (X✝¹ : C₂) :
                          (((((whiskeringLeft₂ E).obj F₁).obj F₂).map f).app X).app X✝¹ = (f.app (F₁.obj X)).app (F₂.obj X✝¹)
                          @[simp]
                          theorem CategoryTheory.Functor.whiskeringLeft₂_obj_obj_obj_map_app {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_5} {D₂ : Type u_6} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (X : Functor D₁ (Functor D₂ E)) {X✝ Y✝ : C₁} (f : X✝ Y✝) (X✝¹ : C₂) :
                          (((((whiskeringLeft₂ E).obj F₁).obj F₂).obj X).map f).app X✝¹ = (X.map (F₁.map f)).app (F₂.obj X✝¹)
                          @[implicit_reducible]
                          def CategoryTheory.Functor.whiskeringLeft₃ObjObjObj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) :
                          Functor (Functor D₁ (Functor D₂ (Functor D₃ E))) (Functor C₁ (Functor C₂ (Functor C₃ E)))

                          Auxiliary definition for whiskeringLeft₃.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[simp]
                            theorem CategoryTheory.Functor.whiskeringLeft₃ObjObjObj_obj_obj_map_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) (X✝ : C₁) {X✝¹ Y✝ : C₂} (f : X✝¹ Y✝) (X✝² : C₃) :
                            ((((whiskeringLeft₃ObjObjObj E F₁ F₂ F₃).obj X).obj X✝).map f).app X✝² = ((X.obj (F₁.obj X✝)).map (F₂.map f)).app (F₃.obj X✝²)
                            @[simp]
                            theorem CategoryTheory.Functor.whiskeringLeft₃ObjObjObj_obj_obj_obj_map {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) (X✝ : C₁) (X✝¹ : C₂) {X✝² Y✝ : C₃} (f : X✝² Y✝) :
                            ((((whiskeringLeft₃ObjObjObj E F₁ F₂ F₃).obj X).obj X✝).obj X✝¹).map f = ((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).map (F₃.map f)
                            @[simp]
                            theorem CategoryTheory.Functor.whiskeringLeft₃ObjObjObj_map_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) {X✝ Y✝ : Functor D₁ (Functor D₂ (Functor D₃ E))} (f : X✝ Y✝) (X : C₁) (X✝¹ : C₂) (X✝² : C₃) :
                            ((((whiskeringLeft₃ObjObjObj E F₁ F₂ F₃).map f).app X).app X✝¹).app X✝² = ((f.app (F₁.obj X)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)
                            @[simp]
                            theorem CategoryTheory.Functor.whiskeringLeft₃ObjObjObj_obj_map_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) {X✝ Y✝ : C₁} (f : X✝ Y✝) (X✝¹ : C₂) (X✝² : C₃) :
                            ((((whiskeringLeft₃ObjObjObj E F₁ F₂ F₃).obj X).map f).app X✝¹).app X✝² = ((X.map (F₁.map f)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)
                            @[simp]
                            theorem CategoryTheory.Functor.whiskeringLeft₃ObjObjObj_obj_obj_obj_obj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) :
                            ((((whiskeringLeft₃ObjObjObj E F₁ F₂ F₃).obj X).obj X✝).obj X✝¹).obj X✝² = ((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).obj (F₃.obj X✝²)
                            @[implicit_reducible]
                            def CategoryTheory.Functor.whiskeringLeft₃ObjObjMap {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {F₃ F₃' : Functor C₃ D₃} (τ₃ : F₃ F₃') :
                            whiskeringLeft₃ObjObjObj E F₁ F₂ F₃ whiskeringLeft₃ObjObjObj E F₁ F₂ F₃'

                            Auxiliary definition for whiskeringLeft₃.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              @[simp]
                              theorem CategoryTheory.Functor.whiskeringLeft₃ObjObjMap_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {F₃ F₃' : Functor C₃ D₃} (τ₃ : F₃ F₃') (F : Functor D₁ (Functor D₂ (Functor D₃ E))) :
                              (whiskeringLeft₃ObjObjMap E F₁ F₂ τ₃).app F = F₁.whiskerLeft (F.whiskerLeft (((whiskeringLeft₂ E).obj F₂).map τ₃))
                              @[implicit_reducible]
                              def CategoryTheory.Functor.whiskeringLeft₃ObjObj {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) :
                              Functor (Functor C₃ D₃) (Functor (Functor D₁ (Functor D₂ (Functor D₃ E))) (Functor C₁ (Functor C₂ (Functor C₃ E))))

                              Auxiliary definition for whiskeringLeft₃.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]
                                theorem CategoryTheory.Functor.whiskeringLeft₃ObjObj_obj {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) :
                                (whiskeringLeft₃ObjObj C₃ D₃ E F₁ F₂).obj F₃ = whiskeringLeft₃ObjObjObj E F₁ F₂ F₃
                                @[simp]
                                theorem CategoryTheory.Functor.whiskeringLeft₃ObjObj_map {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {X✝ Y✝ : Functor C₃ D₃} (τ₃ : X✝ Y✝) :
                                (whiskeringLeft₃ObjObj C₃ D₃ E F₁ F₂).map τ₃ = whiskeringLeft₃ObjObjMap E F₁ F₂ τ₃
                                @[implicit_reducible]
                                def CategoryTheory.Functor.whiskeringLeft₃ObjMap {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {F₂ F₂' : Functor C₂ D₂} (τ₂ : F₂ F₂') :
                                whiskeringLeft₃ObjObj C₃ D₃ E F₁ F₂ whiskeringLeft₃ObjObj C₃ D₃ E F₁ F₂'

                                Auxiliary definition for whiskeringLeft₃.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[simp]
                                  theorem CategoryTheory.Functor.whiskeringLeft₃ObjMap_app {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {F₂ F₂' : Functor C₂ D₂} (τ₂ : F₂ F₂') (F₃ : Functor C₃ D₃) :
                                  (whiskeringLeft₃ObjMap C₃ D₃ E F₁ τ₂).app F₃ = whiskerRight ((whiskeringRight D₁ (Functor D₂ (Functor D₃ E)) (Functor C₂ (Functor C₃ E))).map (((whiskeringLeft₂ E).map τ₂).app F₃)) ((whiskeringLeft C₁ D₁ (Functor C₂ (Functor C₃ E))).obj F₁)
                                  @[implicit_reducible]
                                  def CategoryTheory.Functor.whiskeringLeft₃Obj {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) :
                                  Functor (Functor C₂ D₂) (Functor (Functor C₃ D₃) (Functor (Functor D₁ (Functor D₂ (Functor D₃ E))) (Functor C₁ (Functor C₂ (Functor C₃ E)))))

                                  Auxiliary definition for whiskeringLeft₃.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    @[simp]
                                    theorem CategoryTheory.Functor.whiskeringLeft₃Obj_obj {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) :
                                    (whiskeringLeft₃Obj C₂ C₃ D₂ D₃ E F₁).obj F₂ = whiskeringLeft₃ObjObj C₃ D₃ E F₁ F₂
                                    @[simp]
                                    theorem CategoryTheory.Functor.whiskeringLeft₃Obj_map {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {X✝ Y✝ : Functor C₂ D₂} (τ₂ : X✝ Y✝) :
                                    (whiskeringLeft₃Obj C₂ C₃ D₂ D₃ E F₁).map τ₂ = whiskeringLeft₃ObjMap C₃ D₃ E F₁ τ₂
                                    @[implicit_reducible]
                                    def CategoryTheory.Functor.whiskeringLeft₃Map {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] {F₁ F₁' : Functor C₁ D₁} (τ₁ : F₁ F₁') :
                                    whiskeringLeft₃Obj C₂ C₃ D₂ D₃ E F₁ whiskeringLeft₃Obj C₂ C₃ D₂ D₃ E F₁'

                                    Auxiliary definition for whiskeringLeft₃.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      @[simp]
                                      theorem CategoryTheory.Functor.whiskeringLeft₃Map_app_app {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] {F₁ F₁' : Functor C₁ D₁} (τ₁ : F₁ F₁') (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) :
                                      ((whiskeringLeft₃Map C₂ C₃ D₂ D₃ E τ₁).app F₂).app F₃ = ((whiskeringRight D₁ (Functor D₂ (Functor D₃ E)) (Functor C₂ (Functor C₃ E))).obj (((whiskeringLeft₂ E).obj F₂).obj F₃)).whiskerLeft ((whiskeringLeft C₁ D₁ (Functor C₂ (Functor C₃ E))).map τ₁)
                                      @[implicit_reducible]
                                      def CategoryTheory.Functor.whiskeringLeft₃ {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] :
                                      Functor (Functor C₁ D₁) (Functor (Functor C₂ D₂) (Functor (Functor C₃ D₃) (Functor (Functor D₁ (Functor D₂ (Functor D₃ E))) (Functor C₁ (Functor C₂ (Functor C₃ E))))))

                                      The obvious functor (C₁ ⥤ D₁) ⥤ (C₂ ⥤ D₂) ⥤ (C₃ ⥤ D₃) ⥤ (D₁ ⥤ D₂ ⥤ D₃ ⥤ E) ⥤ (C₁ ⥤ C₂ ⥤ C₃ ⥤ E).

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        @[simp]
                                        theorem CategoryTheory.Functor.whiskeringLeft₃_obj_obj_obj_obj_map_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) {X✝ Y✝ : C₁} (f : X✝ Y✝) (X✝¹ : C₂) (X✝² : C₃) :
                                        (((((((whiskeringLeft₃ E).obj F₁).obj F₂).obj F₃).obj X).map f).app X✝¹).app X✝² = ((X.map (F₁.map f)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)
                                        @[simp]
                                        theorem CategoryTheory.Functor.whiskeringLeft₃_obj_obj_obj_obj_obj_map_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) (X✝ : C₁) {X✝¹ Y✝ : C₂} (f : X✝¹ Y✝) (X✝² : C₃) :
                                        (((((((whiskeringLeft₃ E).obj F₁).obj F₂).obj F₃).obj X).obj X✝).map f).app X✝² = ((X.obj (F₁.obj X✝)).map (F₂.map f)).app (F₃.obj X✝²)
                                        @[simp]
                                        theorem CategoryTheory.Functor.whiskeringLeft₃_obj_map_app_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {X✝ Y✝ : Functor C₂ D₂} (τ₂ : X✝ Y✝) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) (X✝¹ : C₁) (c : C₂) (X✝² : C₃) :
                                        (((((((whiskeringLeft₃ E).obj F₁).map τ₂).app F₃).app X).app X✝¹).app c).app X✝² = ((X.obj (F₁.obj X✝¹)).map (τ₂.app c)).app (F₃.obj X✝²)
                                        @[simp]
                                        theorem CategoryTheory.Functor.whiskeringLeft₃_map_app_app_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] {X✝ Y✝ : Functor C₁ D₁} (τ₁ : X✝ Y✝) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) (c : C₁) (X✝¹ : C₂) (X✝² : C₃) :
                                        (((((((whiskeringLeft₃ E).map τ₁).app F₂).app F₃).app X).app c).app X✝¹).app X✝² = ((X.map (τ₁.app c)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)
                                        @[simp]
                                        theorem CategoryTheory.Functor.whiskeringLeft₃_obj_obj_obj_obj_obj_obj_map {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) (X✝ : C₁) (X✝¹ : C₂) {X✝² Y✝ : C₃} (f : X✝² Y✝) :
                                        (((((((whiskeringLeft₃ E).obj F₁).obj F₂).obj F₃).obj X).obj X✝).obj X✝¹).map f = ((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).map (F₃.map f)
                                        @[simp]
                                        theorem CategoryTheory.Functor.whiskeringLeft₃_obj_obj_map_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {X✝ Y✝ : Functor C₃ D₃} (τ₃ : X✝ Y✝) (F : Functor D₁ (Functor D₂ (Functor D₃ E))) (X : C₁) (X✝¹ : C₂) (c : C₃) :
                                        (((((((whiskeringLeft₃ E).obj F₁).obj F₂).map τ₃).app F).app X).app X✝¹).app c = ((F.obj (F₁.obj X)).obj (F₂.obj X✝¹)).map (τ₃.app c)
                                        @[simp]
                                        theorem CategoryTheory.Functor.whiskeringLeft₃_obj_obj_obj_map_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) {X✝ Y✝ : Functor D₁ (Functor D₂ (Functor D₃ E))} (f : X✝ Y✝) (X : C₁) (X✝¹ : C₂) (X✝² : C₃) :
                                        (((((((whiskeringLeft₃ E).obj F₁).obj F₂).obj F₃).map f).app X).app X✝¹).app X✝² = ((f.app (F₁.obj X)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)
                                        @[simp]
                                        theorem CategoryTheory.Functor.whiskeringLeft₃_obj_obj_obj_obj_obj_obj_obj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (X : Functor D₁ (Functor D₂ (Functor D₃ E))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) :
                                        (((((((whiskeringLeft₃ E).obj F₁).obj F₂).obj F₃).obj X).obj X✝).obj X✝¹).obj X✝² = ((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).obj (F₃.obj X✝²)
                                        @[implicit_reducible]
                                        def CategoryTheory.Functor.whiskeringLeft₄ObjObjObjObj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) :
                                        Functor (Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E))))

                                        Auxiliary definition for whiskeringLeft₄.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          @[simp]
                                          theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObjObj_obj_obj_map_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝ : C₁) {X✝¹ Y✝ : C₂} (f : X✝¹ Y✝) (X✝² : C₃) (X✝³ : C₄) :
                                          (((((whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄).obj X).obj X✝).map f).app X✝²).app X✝³ = (((X.obj (F₁.obj X✝)).map (F₂.map f)).app (F₃.obj X✝²)).app (F₄.obj X✝³)
                                          @[simp]
                                          theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObjObj_obj_obj_obj_obj_map {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) {X✝³ Y✝ : C₄} (f : X✝³ Y✝) :
                                          (((((whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄).obj X).obj X✝).obj X✝¹).obj X✝²).map f = (((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).obj (F₃.obj X✝²)).map (F₄.map f)
                                          @[simp]
                                          theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObjObj_map_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) {X✝ Y✝ : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))} (f : X✝ Y✝) (X : C₁) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                          (((((whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄).map f).app X).app X✝¹).app X✝²).app X✝³ = (((f.app (F₁.obj X)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)).app (F₄.obj X✝³)
                                          @[simp]
                                          theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObjObj_obj_obj_obj_map_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝ : C₁) (X✝¹ : C₂) {X✝² Y✝ : C₃} (f : X✝² Y✝) (X✝³ : C₄) :
                                          (((((whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄).obj X).obj X✝).obj X✝¹).map f).app X✝³ = (((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).map (F₃.map f)).app (F₄.obj X✝³)
                                          @[simp]
                                          theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObjObj_obj_obj_obj_obj_obj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                          (((((whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄).obj X).obj X✝).obj X✝¹).obj X✝²).obj X✝³ = (((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).obj (F₃.obj X✝²)).obj (F₄.obj X✝³)
                                          @[simp]
                                          theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObjObj_obj_map_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) {X✝ Y✝ : C₁} (f : X✝ Y✝) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                          (((((whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄).obj X).map f).app X✝¹).app X✝²).app X✝³ = (((X.map (F₁.map f)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)).app (F₄.obj X✝³)
                                          @[implicit_reducible]
                                          def CategoryTheory.Functor.whiskeringLeft₄ObjObjObjMap {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) {F₄ F₄' : Functor C₄ D₄} (τ₄ : F₄ F₄') :
                                          whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄ whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄'

                                          Auxiliary definition for whiskeringLeft₄.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            @[simp]
                                            theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObjMap_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) {F₄ F₄' : Functor C₄ D₄} (τ₄ : F₄ F₄') (F : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) :
                                            (whiskeringLeft₄ObjObjObjMap E F₁ F₂ F₃ τ₄).app F = F₁.whiskerLeft (F.whiskerLeft ((((whiskeringLeft₃ E).obj F₂).obj F₃).map τ₄))
                                            @[implicit_reducible]
                                            def CategoryTheory.Functor.whiskeringLeft₄ObjObjObj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) :
                                            Functor (Functor C₄ D₄) (Functor (Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))))

                                            Auxiliary definition for whiskeringLeft₄.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              @[simp]
                                              theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObj_obj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) :
                                              (whiskeringLeft₄ObjObjObj C₄ D₄ E F₁ F₂ F₃).obj F₄ = whiskeringLeft₄ObjObjObjObj E F₁ F₂ F₃ F₄
                                              @[simp]
                                              theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjObj_map {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) {X✝ Y✝ : Functor C₄ D₄} (τ₄ : X✝ Y✝) :
                                              (whiskeringLeft₄ObjObjObj C₄ D₄ E F₁ F₂ F₃).map τ₄ = whiskeringLeft₄ObjObjObjMap E F₁ F₂ F₃ τ₄
                                              @[implicit_reducible]
                                              def CategoryTheory.Functor.whiskeringLeft₄ObjObjMap {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {F₃ F₃' : Functor C₃ D₃} (τ₃ : F₃ F₃') :
                                              whiskeringLeft₄ObjObjObj C₄ D₄ E F₁ F₂ F₃ whiskeringLeft₄ObjObjObj C₄ D₄ E F₁ F₂ F₃'

                                              Auxiliary definition for whiskeringLeft₄.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                @[simp]
                                                theorem CategoryTheory.Functor.whiskeringLeft₄ObjObjMap_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {F₃ F₃' : Functor C₃ D₃} (τ₃ : F₃ F₃') (F₄ : Functor C₄ D₄) :
                                                (whiskeringLeft₄ObjObjMap C₄ D₄ E F₁ F₂ τ₃).app F₄ = whiskerRight ((whiskeringRight D₁ (Functor D₂ (Functor D₃ (Functor D₄ E))) (Functor C₂ (Functor C₃ (Functor C₄ E)))).map ((((whiskeringLeft₃ E).obj F₂).map τ₃).app F₄)) ((whiskeringLeft C₁ D₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))).obj F₁)
                                                @[implicit_reducible]
                                                def CategoryTheory.Functor.whiskeringLeft₄ObjObj {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) :
                                                Functor (Functor C₃ D₃) (Functor (Functor C₄ D₄) (Functor (Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E))))))

                                                Auxiliary definition for whiskeringLeft₄.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  @[simp]
                                                  theorem CategoryTheory.Functor.whiskeringLeft₄ObjObj_obj {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) :
                                                  (whiskeringLeft₄ObjObj C₃ C₄ D₃ D₄ E F₁ F₂).obj F₃ = whiskeringLeft₄ObjObjObj C₄ D₄ E F₁ F₂ F₃
                                                  @[simp]
                                                  theorem CategoryTheory.Functor.whiskeringLeft₄ObjObj_map {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {X✝ Y✝ : Functor C₃ D₃} (τ₃ : X✝ Y✝) :
                                                  (whiskeringLeft₄ObjObj C₃ C₄ D₃ D₄ E F₁ F₂).map τ₃ = whiskeringLeft₄ObjObjMap C₄ D₄ E F₁ F₂ τ₃
                                                  @[implicit_reducible]
                                                  def CategoryTheory.Functor.whiskeringLeft₄ObjMap {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {F₂ F₂' : Functor C₂ D₂} (τ₂ : F₂ F₂') :
                                                  whiskeringLeft₄ObjObj C₃ C₄ D₃ D₄ E F₁ F₂ whiskeringLeft₄ObjObj C₃ C₄ D₃ D₄ E F₁ F₂'

                                                  Auxiliary definition for whiskeringLeft₄.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    @[simp]
                                                    theorem CategoryTheory.Functor.whiskeringLeft₄ObjMap_app_app {C₁ : Type u_1} {C₂ : Type u_2} (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} {D₂ : Type u_6} (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {F₂ F₂' : Functor C₂ D₂} (τ₂ : F₂ F₂') (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) :
                                                    ((whiskeringLeft₄ObjMap C₃ C₄ D₃ D₄ E F₁ τ₂).app F₃).app F₄ = whiskerRight ((whiskeringRight D₁ (Functor D₂ (Functor D₃ (Functor D₄ E))) (Functor C₂ (Functor C₃ (Functor C₄ E)))).map ((((whiskeringLeft₃ E).map τ₂).app F₃).app F₄)) ((whiskeringLeft C₁ D₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))).obj F₁)
                                                    @[implicit_reducible]
                                                    def CategoryTheory.Functor.whiskeringLeft₄Obj {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) :
                                                    Functor (Functor C₂ D₂) (Functor (Functor C₃ D₃) (Functor (Functor C₄ D₄) (Functor (Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))))))

                                                    Auxiliary definition for whiskeringLeft₄.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      @[simp]
                                                      theorem CategoryTheory.Functor.whiskeringLeft₄Obj_map {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {X✝ Y✝ : Functor C₂ D₂} (τ₂ : X✝ Y✝) :
                                                      (whiskeringLeft₄Obj C₂ C₃ C₄ D₂ D₃ D₄ E F₁).map τ₂ = whiskeringLeft₄ObjMap C₃ C₄ D₃ D₄ E F₁ τ₂
                                                      @[simp]
                                                      theorem CategoryTheory.Functor.whiskeringLeft₄Obj_obj {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) :
                                                      (whiskeringLeft₄Obj C₂ C₃ C₄ D₂ D₃ D₄ E F₁).obj F₂ = whiskeringLeft₄ObjObj C₃ C₄ D₃ D₄ E F₁ F₂
                                                      @[implicit_reducible]
                                                      def CategoryTheory.Functor.whiskeringLeft₄Map {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] {F₁ F₁' : Functor C₁ D₁} (τ₁ : F₁ F₁') :
                                                      whiskeringLeft₄Obj C₂ C₃ C₄ D₂ D₃ D₄ E F₁ whiskeringLeft₄Obj C₂ C₃ C₄ D₂ D₃ D₄ E F₁'

                                                      Auxiliary definition for whiskeringLeft₄.

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        @[simp]
                                                        theorem CategoryTheory.Functor.whiskeringLeft₄Map_app_app_app {C₁ : Type u_1} (C₂ : Type u_2) (C₃ : Type u_3) (C₄ : Type u_4) {D₁ : Type u_5} (D₂ : Type u_6) (D₃ : Type u_7) (D₄ : Type u_8) [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] {F₁ F₁' : Functor C₁ D₁} (τ₁ : F₁ F₁') (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) :
                                                        (((whiskeringLeft₄Map C₂ C₃ C₄ D₂ D₃ D₄ E τ₁).app F₂).app F₃).app F₄ = ((whiskeringRight D₁ (Functor D₂ (Functor D₃ (Functor D₄ E))) (Functor C₂ (Functor C₃ (Functor C₄ E)))).obj ((((whiskeringLeft₃ E).obj F₂).obj F₃).obj F₄)).whiskerLeft ((whiskeringLeft C₁ D₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))).map τ₁)
                                                        @[implicit_reducible]
                                                        def CategoryTheory.Functor.whiskeringLeft₄ {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] :
                                                        Functor (Functor C₁ D₁) (Functor (Functor C₂ D₂) (Functor (Functor C₃ D₃) (Functor (Functor C₄ D₄) (Functor (Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E))))))))

                                                        The obvious functor (C₁ ⥤ D₁) ⥤ (C₂ ⥤ D₂) ⥤ (C₃ ⥤ D₃) ⥤ (C₄ ⥤ D₄) ⥤ (D₁ ⥤ D₂ ⥤ D₃ ⥤ D₄ ⥤ E) ⥤ (C₁ ⥤ C₂ ⥤ C₃ ⥤ C₄ ⥤ E).

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_obj_obj_obj_obj_obj_map_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝ : C₁) {X✝¹ Y✝ : C₂} (f : X✝¹ Y✝) (X✝² : C₃) (X✝³ : C₄) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).obj F₂).obj F₃).obj F₄).obj X).obj X✝).map f).app X✝²).app X✝³ = (((X.obj (F₁.obj X✝)).map (F₂.map f)).app (F₃.obj X✝²)).app (F₄.obj X✝³)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_obj_obj_obj_obj_obj_obj_obj_map {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) {X✝³ Y✝ : C₄} (f : X✝³ Y✝) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).obj F₂).obj F₃).obj F₄).obj X).obj X✝).obj X✝¹).obj X✝²).map f = (((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).obj (F₃.obj X✝²)).map (F₄.map f)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_map_app_app_app_app_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] {X✝ Y✝ : Functor C₁ D₁} (τ₁ : X✝ Y✝) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (c : C₁) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                                          (((((((((whiskeringLeft₄ E).map τ₁).app F₂).app F₃).app F₄).app X).app c).app X✝¹).app X✝²).app X✝³ = (((X.map (τ₁.app c)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)).app (F₄.obj X✝³)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_obj_obj_map_app_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) {X✝ Y✝ : Functor C₄ D₄} (τ₄ : X✝ Y✝) (F : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X : C₁) (X✝¹ : C₂) (X✝² : C₃) (c : C₄) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).obj F₂).obj F₃).map τ₄).app F).app X).app X✝¹).app X✝²).app c = (((F.obj (F₁.obj X)).obj (F₂.obj X✝¹)).obj (F₃.obj X✝²)).map (τ₄.app c)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_obj_obj_obj_obj_obj_obj_map_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝ : C₁) (X✝¹ : C₂) {X✝² Y✝ : C₃} (f : X✝² Y✝) (X✝³ : C₄) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).obj F₂).obj F₃).obj F₄).obj X).obj X✝).obj X✝¹).map f).app X✝³ = (((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).map (F₃.map f)).app (F₄.obj X✝³)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_obj_obj_obj_obj_map_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) {X✝ Y✝ : C₁} (f : X✝ Y✝) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).obj F₂).obj F₃).obj F₄).obj X).map f).app X✝¹).app X✝²).app X✝³ = (((X.map (F₁.map f)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)).app (F₄.obj X✝³)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_obj_map_app_app_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) {X✝ Y✝ : Functor C₃ D₃} (τ₃ : X✝ Y✝) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝¹ : C₁) (X✝² : C₂) (c : C₃) (X✝³ : C₄) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).obj F₂).map τ₃).app F₄).app X).app X✝¹).app X✝²).app c).app X✝³ = (((X.obj (F₁.obj X✝¹)).obj (F₂.obj X✝²)).map (τ₃.app c)).app (F₄.obj X✝³)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_map_app_app_app_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) {X✝ Y✝ : Functor C₂ D₂} (τ₂ : X✝ Y✝) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝¹ : C₁) (c : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).map τ₂).app F₃).app F₄).app X).app X✝¹).app c).app X✝²).app X✝³ = (((X.obj (F₁.obj X✝¹)).map (τ₂.app c)).app (F₃.obj X✝²)).app (F₄.obj X✝³)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_obj_obj_obj_obj_obj_obj_obj_obj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) (X : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).obj F₂).obj F₃).obj F₄).obj X).obj X✝).obj X✝¹).obj X✝²).obj X✝³ = (((X.obj (F₁.obj X✝)).obj (F₂.obj X✝¹)).obj (F₃.obj X✝²)).obj (F₄.obj X✝³)
                                                          @[simp]
                                                          theorem CategoryTheory.Functor.whiskeringLeft₄_obj_obj_obj_obj_map_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} {D₄ : Type u_8} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] [Category.{v_5, u_5} D₁] [Category.{v_6, u_6} D₂] [Category.{v_7, u_7} D₃] [Category.{v_8, u_8} D₄] (E : Type u_9) [Category.{v_9, u_9} E] (F₁ : Functor C₁ D₁) (F₂ : Functor C₂ D₂) (F₃ : Functor C₃ D₃) (F₄ : Functor C₄ D₄) {X✝ Y✝ : Functor D₁ (Functor D₂ (Functor D₃ (Functor D₄ E)))} (f : X✝ Y✝) (X : C₁) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                                          (((((((((whiskeringLeft₄ E).obj F₁).obj F₂).obj F₃).obj F₄).map f).app X).app X✝¹).app X✝²).app X✝³ = (((f.app (F₁.obj X)).app (F₂.obj X✝¹)).app (F₃.obj X✝²)).app (F₄.obj X✝³)
                                                          @[implicit_reducible]
                                                          def CategoryTheory.Functor.postcompose₂ {C₁ : Type u_1} {C₂ : Type u_2} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] :
                                                          Functor (Functor E E') (Functor (Functor C₁ (Functor C₂ E)) (Functor C₁ (Functor C₂ E')))

                                                          The "postcomposition" with a functor E ⥤ E' gives a functor (E ⥤ E') ⥤ (C₁ ⥤ C₂ ⥤ E) ⥤ C₁ ⥤ C₂ ⥤ E'.

                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            @[simp]
                                                            theorem CategoryTheory.Functor.postcompose₂_obj_obj_obj_obj {C₁ : Type u_1} {C₂ : Type u_2} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ E)) (X✝ : C₁) (X✝¹ : C₂) :
                                                            (((postcompose₂.obj X).obj F).obj X✝).obj X✝¹ = X.obj ((F.obj X✝).obj X✝¹)
                                                            @[simp]
                                                            theorem CategoryTheory.Functor.postcompose₂_obj_obj_map_app {C₁ : Type u_1} {C₂ : Type u_2} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ E)) {X✝ Y✝ : C₁} (f : X✝ Y✝) (X✝¹ : C₂) :
                                                            (((postcompose₂.obj X).obj F).map f).app X✝¹ = X.map ((F.map f).app X✝¹)
                                                            @[simp]
                                                            theorem CategoryTheory.Functor.postcompose₂_map_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] {X✝ Y✝ : Functor E E'} (f : X✝ Y✝) (F : Functor C₁ (Functor C₂ E)) (c : C₁) (c✝ : C₂) :
                                                            (((postcompose₂.map f).app F).app c).app c✝ = f.app ((F.obj c).obj c✝)
                                                            @[simp]
                                                            theorem CategoryTheory.Functor.postcompose₂_obj_obj_obj_map {C₁ : Type u_1} {C₂ : Type u_2} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ E)) (X✝ : C₁) {X✝¹ Y✝ : C₂} (f : X✝¹ Y✝) :
                                                            (((postcompose₂.obj X).obj F).obj X✝).map f = X.map ((F.obj X✝).map f)
                                                            @[simp]
                                                            theorem CategoryTheory.Functor.postcompose₂_obj_map_app_app {C₁ : Type u_1} {C₂ : Type u_2} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') {X✝ Y✝ : Functor C₁ (Functor C₂ E)} (α : X✝ Y✝) (X✝¹ : C₁) (X✝² : C₂) :
                                                            (((postcompose₂.obj X).map α).app X✝¹).app X✝² = X.map ((α.app X✝¹).app X✝²)
                                                            @[implicit_reducible]
                                                            def CategoryTheory.Functor.postcompose₃ {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] :
                                                            Functor (Functor E E') (Functor (Functor C₁ (Functor C₂ (Functor C₃ E))) (Functor C₁ (Functor C₂ (Functor C₃ E'))))

                                                            The "postcomposition" with a functor E ⥤ E' gives a functor (E ⥤ E') ⥤ (C₁ ⥤ C₂ ⥤ C₃ ⥤ E) ⥤ C₁ ⥤ C₂ ⥤ C₃ ⥤ E'.

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              @[simp]
                                                              theorem CategoryTheory.Functor.postcompose₃_obj_obj_map_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ E))) {X✝ Y✝ : C₁} (f : X✝ Y✝) (X✝¹ : C₂) (X✝² : C₃) :
                                                              ((((postcompose₃.obj X).obj F).map f).app X✝¹).app X✝² = X.map (((F.map f).app X✝¹).app X✝²)
                                                              @[simp]
                                                              theorem CategoryTheory.Functor.postcompose₃_obj_obj_obj_map_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ E))) (X✝ : C₁) {X✝¹ Y✝ : C₂} (f : X✝¹ Y✝) (X✝² : C₃) :
                                                              ((((postcompose₃.obj X).obj F).obj X✝).map f).app X✝² = X.map (((F.obj X✝).map f).app X✝²)
                                                              @[simp]
                                                              theorem CategoryTheory.Functor.postcompose₃_obj_obj_obj_obj_obj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ E))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) :
                                                              ((((postcompose₃.obj X).obj F).obj X✝).obj X✝¹).obj X✝² = X.obj (((F.obj X✝).obj X✝¹).obj X✝²)
                                                              @[simp]
                                                              theorem CategoryTheory.Functor.postcompose₃_obj_obj_obj_obj_map {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ E))) (X✝ : C₁) (X✝¹ : C₂) {X✝² Y✝ : C₃} (f : X✝² Y✝) :
                                                              ((((postcompose₃.obj X).obj F).obj X✝).obj X✝¹).map f = X.map (((F.obj X✝).obj X✝¹).map f)
                                                              @[simp]
                                                              theorem CategoryTheory.Functor.postcompose₃_obj_map_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') {X✝ Y✝ : Functor C₁ (Functor C₂ (Functor C₃ E))} (α : X✝ Y✝) (X✝¹ : C₁) (X✝² : C₂) (X✝³ : C₃) :
                                                              ((((postcompose₃.obj X).map α).app X✝¹).app X✝²).app X✝³ = X.map (((α.app X✝¹).app X✝²).app X✝³)
                                                              @[simp]
                                                              theorem CategoryTheory.Functor.postcompose₃_map_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] {X✝ Y✝ : Functor E E'} (f : X✝ Y✝) (F : Functor C₁ (Functor C₂ (Functor C₃ E))) (c : C₁) (c✝ : C₂) (c✝¹ : C₃) :
                                                              ((((postcompose₃.map f).app F).app c).app c✝).app c✝¹ = f.app (((F.obj c).obj c✝).obj c✝¹)
                                                              @[implicit_reducible]
                                                              def CategoryTheory.Functor.postcompose₄ {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] :
                                                              Functor (Functor E E') (Functor (Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))) (Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E')))))

                                                              The "postcomposition" with a functor E ⥤ E' gives a functor (E ⥤ E') ⥤ (C₁ ⥤ C₂ ⥤ C₃ ⥤ C₄ ⥤ E) ⥤ C₁ ⥤ C₂ ⥤ C₃ ⥤ C₄ ⥤ E'.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                @[simp]
                                                                theorem CategoryTheory.Functor.postcompose₄_obj_obj_obj_obj_obj_map {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) {X✝³ Y✝ : C₄} (f : X✝³ Y✝) :
                                                                (((((postcompose₄.obj X).obj F).obj X✝).obj X✝¹).obj X✝²).map f = X.map ((((F.obj X✝).obj X✝¹).obj X✝²).map f)
                                                                @[simp]
                                                                theorem CategoryTheory.Functor.postcompose₄_obj_obj_obj_obj_map_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))) (X✝ : C₁) (X✝¹ : C₂) {X✝² Y✝ : C₃} (f : X✝² Y✝) (X✝³ : C₄) :
                                                                (((((postcompose₄.obj X).obj F).obj X✝).obj X✝¹).map f).app X✝³ = X.map ((((F.obj X✝).obj X✝¹).map f).app X✝³)
                                                                @[simp]
                                                                theorem CategoryTheory.Functor.postcompose₄_obj_obj_obj_obj_obj_obj {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))) (X✝ : C₁) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                                                (((((postcompose₄.obj X).obj F).obj X✝).obj X✝¹).obj X✝²).obj X✝³ = X.obj ((((F.obj X✝).obj X✝¹).obj X✝²).obj X✝³)
                                                                @[simp]
                                                                theorem CategoryTheory.Functor.postcompose₄_map_app_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] {X✝ Y✝ : Functor E E'} (f : X✝ Y✝) (F : Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))) (c : C₁) (c✝ : C₂) (c✝¹ : C₃) (c✝² : C₄) :
                                                                (((((postcompose₄.map f).app F).app c).app c✝).app c✝¹).app c✝² = f.app ((((F.obj c).obj c✝).obj c✝¹).obj c✝²)
                                                                @[simp]
                                                                theorem CategoryTheory.Functor.postcompose₄_obj_map_app_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') {X✝ Y✝ : Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))} (α : X✝ Y✝) (X✝¹ : C₁) (X✝² : C₂) (X✝³ : C₃) (X✝⁴ : C₄) :
                                                                (((((postcompose₄.obj X).map α).app X✝¹).app X✝²).app X✝³).app X✝⁴ = X.map ((((α.app X✝¹).app X✝²).app X✝³).app X✝⁴)
                                                                @[simp]
                                                                theorem CategoryTheory.Functor.postcompose₄_obj_obj_map_app_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))) {X✝ Y✝ : C₁} (f : X✝ Y✝) (X✝¹ : C₂) (X✝² : C₃) (X✝³ : C₄) :
                                                                (((((postcompose₄.obj X).obj F).map f).app X✝¹).app X✝²).app X✝³ = X.map ((((F.map f).app X✝¹).app X✝²).app X✝³)
                                                                @[simp]
                                                                theorem CategoryTheory.Functor.postcompose₄_obj_obj_obj_map_app_app {C₁ : Type u_1} {C₂ : Type u_2} {C₃ : Type u_3} {C₄ : Type u_4} [Category.{v_1, u_1} C₁] [Category.{v_2, u_2} C₂] [Category.{v_3, u_3} C₃] [Category.{v_4, u_4} C₄] {E : Type u_9} [Category.{v_9, u_9} E] {E' : Type u_10} [Category.{v_10, u_10} E'] (X : Functor E E') (F : Functor C₁ (Functor C₂ (Functor C₃ (Functor C₄ E)))) (X✝ : C₁) {X✝¹ Y✝ : C₂} (f : X✝¹ Y✝) (X✝² : C₃) (X✝³ : C₄) :
                                                                (((((postcompose₄.obj X).obj F).obj X✝).map f).app X✝²).app X✝³ = X.map ((((F.obj X✝).map f).app X✝²).app X✝³)