Documentation

Mathlib.CategoryTheory.Pi.Monoidal

The pointwise monoidal structure on the product of families of monoidal categories #

Given a family of monoidal categories C i, we define a monoidal structure on Π i, C i where the tensor product is defined pointwise.

instance CategoryTheory.Pi.monoidalCategoryStruct {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] :
MonoidalCategoryStruct ((i : I) → C i)
Equations
    @[simp]
    theorem CategoryTheory.Pi.monoidalCategoryStruct_whiskerLeft {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] (X x✝ x✝¹ : (i : I) → C i) (f : x✝ x✝¹) (i : I) :
    @[simp]
    theorem CategoryTheory.Pi.monoidalCategoryStruct_tensorObj {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] (X Y : (i : I) → C i) (i : I) :
    @[simp]
    theorem CategoryTheory.Pi.monoidalCategoryStruct_tensorHom {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X₁✝ Y₁✝ X₂✝ Y₂✝ : (i : I) → C i} (f : X₁✝ Y₁✝) (g : X₂✝ Y₂✝) (i : I) :
    @[simp]
    theorem CategoryTheory.Pi.monoidalCategoryStruct_whiskerRight {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X₁✝ X₂✝ : (i : I) → C i} (f : X₁✝ X₂✝) (Y : (i : I) → C i) (i : I) :
    @[simp]
    theorem CategoryTheory.Pi.monoidalCategoryStruct_tensorUnit {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] (i : I) :
    @[simp]
    theorem CategoryTheory.Pi.associator_hom_apply {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X Y Z : (i : I) → C i} {i : I} :
    @[simp]
    theorem CategoryTheory.Pi.associator_inv_apply {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X Y Z : (i : I) → C i} {i : I} :
    @[simp]
    theorem CategoryTheory.Pi.isoApp_associator {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X Y Z : (i : I) → C i} {i : I} :
    @[simp]
    theorem CategoryTheory.Pi.left_unitor_hom_apply {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X : (i : I) → C i} {i : I} :
    @[simp]
    theorem CategoryTheory.Pi.left_unitor_inv_apply {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X : (i : I) → C i} {i : I} :
    @[simp]
    theorem CategoryTheory.Pi.isoApp_left_unitor {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X : (i : I) → C i} {i : I} :
    @[simp]
    theorem CategoryTheory.Pi.right_unitor_hom_apply {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X : (i : I) → C i} {i : I} :
    @[simp]
    theorem CategoryTheory.Pi.right_unitor_inv_apply {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X : (i : I) → C i} {i : I} :
    @[simp]
    theorem CategoryTheory.Pi.isoApp_right_unitor {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {X : (i : I) → C i} {i : I} :
    instance CategoryTheory.Pi.monoidalCategory {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] :
    MonoidalCategory ((i : I) → C i)

    Pi.monoidalCategory C equips the product of an indexed family of categories with the pointwise monoidal structure.

    Equations
      instance CategoryTheory.Pi.braidedCategory {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] :
      BraidedCategory ((i : I) → C i)

      When each C i is a braided monoidal category, the natural pointwise monoidal structure on ∀ i, C i is also braided.

      Equations
        @[simp]
        theorem CategoryTheory.Pi.braiding_hom_apply {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] {X Y : (i : I) → C i} {i : I} :
        (β_ X Y).hom i = (β_ (X i) (Y i)).hom
        @[simp]
        theorem CategoryTheory.Pi.braiding_inv_apply {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] {X Y : (i : I) → C i} {i : I} :
        (β_ X Y).inv i = (β_ (X i) (Y i)).inv
        @[simp]
        theorem CategoryTheory.Pi.isoApp_braiding {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] {X Y : (i : I) → C i} {i : I} :
        isoApp (β_ X Y) i = β_ (X i) (Y i)
        instance CategoryTheory.Pi.symmetricCategory {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → SymmetricCategory (C i)] :
        SymmetricCategory ((i : I) → C i)

        When each C i is a symmetric monoidal category, the natural pointwise monoidal structure on ∀ i, C i is also symmetric.

        Equations
          def CategoryTheory.Pi.ihom {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X : (i : I) → C i) :
          Functor ((i : I) → C i) ((i : I) → C i)

          The internal hom functor X ⟶[∀ i, C i] -

          Equations
            Instances For
              @[simp]
              theorem CategoryTheory.Pi.ihom_map {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X : (i : I) → C i) {Y Z : (i : I) → C i} (f : Y Z) (i : I) :
              (ihom X).map f i = (CategoryTheory.ihom (X i)).map (f i)
              @[simp]
              theorem CategoryTheory.Pi.ihom_obj {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X Y : (i : I) → C i) (i : I) :
              (ihom X).obj Y i = (X iY i)
              def CategoryTheory.Pi.closedUnit {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X : (i : I) → C i) :

              The unit for the adjunction tensorLeft X ⊣ ihom X.

              Equations
                Instances For
                  @[simp]
                  theorem CategoryTheory.Pi.closedUnit_app {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X Y : (i : I) → C i) (i : I) :
                  (closedUnit X).app Y i = (ihom.coev (X i)).app (Y i)
                  def CategoryTheory.Pi.closedCounit {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X : (i : I) → C i) :

                  The counit for the adjunction tensorLeft X ⊣ ihom X.

                  Equations
                    Instances For
                      @[simp]
                      theorem CategoryTheory.Pi.closedCounit_app {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X Y : (i : I) → C i) (i : I) :
                      (closedCounit X).app Y i = (ihom.ev (X i)).app (Y i)
                      instance CategoryTheory.Pi.monoidalClosed {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] :
                      MonoidalClosed ((i : I) → C i)

                      Equips the product of a family of closed monoidal categories with a pointwise closed monoidal structure.

                      Equations
                        @[simp]
                        theorem CategoryTheory.Pi.monoidalClosed_closed_adj_counit {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X : (i : I) → C i) :
                        @[simp]
                        theorem CategoryTheory.Pi.monoidalClosed_closed_rightAdj {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X : (i : I) → C i) :
                        @[simp]
                        theorem CategoryTheory.Pi.monoidalClosed_closed_adj_unit {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → MonoidalClosed (C i)] (X : (i : I) → C i) :
                        instance CategoryTheory.Pi.instMonoidalForallEval {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] (i : I) :
                        Equations
                          @[simp]
                          theorem CategoryTheory.Pi.η_def {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] (i : I) :
                          @[simp]
                          theorem CategoryTheory.Pi.ε_def {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] (i : I) :
                          @[simp]
                          theorem CategoryTheory.Pi.μ_def {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] (i : I) (X Y : (i : I) → C i) :
                          @[simp]
                          theorem CategoryTheory.Pi.δ_def {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] (i : I) (X Y : (i : I) → C i) :
                          instance CategoryTheory.Pi.instBraidedForallEval {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] (i : I) :
                          Equations
                            instance CategoryTheory.Pi.laxMonoidalPi' {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).LaxMonoidal] :
                            Equations
                              @[simp]
                              theorem CategoryTheory.Pi.laxMonoidalPi'_ε {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).LaxMonoidal] (i : I) :
                              @[simp]
                              theorem CategoryTheory.Pi.laxMonoidalPi'_μ {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).LaxMonoidal] (X Y : D) (i : I) :
                              instance CategoryTheory.Pi.opLaxMonoidalPi' {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).OplaxMonoidal] :
                              Equations
                                @[simp]
                                theorem CategoryTheory.Pi.opLaxMonoidalPi'_δ {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).OplaxMonoidal] (X Y : D) (i : I) :
                                @[simp]
                                theorem CategoryTheory.Pi.opLaxMonoidalPi'_η {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).OplaxMonoidal] (i : I) :
                                instance CategoryTheory.Pi.monoidalPi' {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).Monoidal] :
                                Equations
                                  @[simp]
                                  theorem CategoryTheory.Pi.monoidalPi'_δ {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).Monoidal] (X Y : D) (i : I) :
                                  @[simp]
                                  theorem CategoryTheory.Pi.monoidalPi'_μ {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).Monoidal] (X Y : D) (i : I) :
                                  @[simp]
                                  theorem CategoryTheory.Pi.monoidalPi'_η {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).Monoidal] (i : I) :
                                  @[simp]
                                  theorem CategoryTheory.Pi.monoidalPi'_ε {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).Monoidal] (i : I) :
                                  instance CategoryTheory.Pi.instLaxBraidedForallPi' {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] [BraidedCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).LaxBraided] :
                                  Equations
                                    instance CategoryTheory.Pi.instBraidedForallPi' {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] [BraidedCategory D] (F : (i : I) → Functor D (C i)) [(i : I) → (F i).Braided] :
                                    Equations
                                      instance CategoryTheory.Pi.laxMonoidalPi {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).LaxMonoidal] :
                                      Equations
                                        @[simp]
                                        theorem CategoryTheory.Pi.laxMonoidalPi_ε {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).LaxMonoidal] (i : I) :
                                        @[simp]
                                        theorem CategoryTheory.Pi.laxMonoidalPi_μ {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).LaxMonoidal] (X Y : (i : I) → D i) (i : I) :
                                        instance CategoryTheory.Pi.opLaxMonoidalPi {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).OplaxMonoidal] :
                                        Equations
                                          @[simp]
                                          theorem CategoryTheory.Pi.opLaxMonoidalPi_δ {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).OplaxMonoidal] (X Y : (i : I) → D i) (i : I) :
                                          @[simp]
                                          theorem CategoryTheory.Pi.opLaxMonoidalPi_η {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).OplaxMonoidal] (i : I) :
                                          instance CategoryTheory.Pi.monoidalPi {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).Monoidal] :
                                          Equations
                                            @[simp]
                                            theorem CategoryTheory.Pi.monoidalPi_μ {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).Monoidal] (X Y : (i : I) → D i) (i : I) :
                                            @[simp]
                                            theorem CategoryTheory.Pi.monoidalPi_δ {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).Monoidal] (X Y : (i : I) → D i) (i : I) :
                                            @[simp]
                                            theorem CategoryTheory.Pi.monoidalPi_ε {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).Monoidal] (i : I) :
                                            @[simp]
                                            theorem CategoryTheory.Pi.monoidalPi_η {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).Monoidal] (i : I) :
                                            instance CategoryTheory.Pi.instLaxBraidedForallPi {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] [(i : I) → BraidedCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).LaxBraided] :
                                            Equations
                                              instance CategoryTheory.Pi.instBraidedForallPi {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] [(i : I) → BraidedCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] [(i : I) → BraidedCategory (D i)] (F : (i : I) → Functor (D i) (C i)) [(i : I) → (F i).Braided] :
                                              Equations
                                                instance CategoryTheory.Pi.instIsMonoidalForallPi' {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : Type u_1} [Category.{v_1, u_1} D] [MonoidalCategory D] {F G : Functor D ((i : I) → C i)} [F.LaxMonoidal] [G.LaxMonoidal] (τ : (i : I) → F.comp (eval C i) G.comp (eval C i)) [∀ (i : I), NatTrans.IsMonoidal (τ i)] :
                                                instance CategoryTheory.Pi.instIsMonoidalForallPi {I : Type w₁} {C : IType u₁} [(i : I) → Category.{v₁, u₁} (C i)] [(i : I) → MonoidalCategory (C i)] {D : IType u₂} [(i : I) → Category.{v₂, u₂} (D i)] [(i : I) → MonoidalCategory (D i)] {F G : (i : I) → Functor (D i) (C i)} [(i : I) → (F i).LaxMonoidal] [(i : I) → (G i).LaxMonoidal] (τ : (i : I) → F i G i) [∀ (i : I), NatTrans.IsMonoidal (τ i)] :