-- Module: Mathlib.CategoryTheory.GradedObject.Braiding
Goal:
I : Type u_1
inst : AddCommMonoid I
C : Type u_2
inst_1 : Category.{v_1, u_2} C
inst_2 : MonoidalCategory.{v_1, u_2} C
X Y Z : GradedObject I C
inst_3 : BraidedCategory.{v_1, u_2} C
inst_4 : HasTensor.{u_1, v_1, u_2} X Y
inst_5 : HasTensor.{u_1, v_1, u_2} Y Z
inst_6 : HasTensor.{u_1, v_1, u_2} Z X
inst_7 : HasTensor.{u_1, v_1, u_2} Z Y
inst_8 : HasTensor.{u_1, v_1, u_2} X Z
inst_9 : HasTensor.{u_1, v_1, u_2} (tensorObj.{u_1, v_1, u_2} X Y) Z
inst_10 : HasTensor.{u_1, v_1, u_2} X (tensorObj.{u_1, v_1, u_2} Y Z)
inst_11 : HasTensor.{u_1, v_1, u_2} Z (tensorObj.{u_1, v_1, u_2} X Y)
inst_12 : HasTensor.{u_1, v_1, u_2} (tensorObj.{u_1, v_1, u_2} Z X) Y
inst_13 : HasTensor.{u_1, v_1, u_2} X (tensorObj.{u_1, v_1, u_2} Z Y)
inst_14 : HasTensor.{u_1, v_1, u_2} (tensorObj.{u_1, v_1, u_2} X Z) Y
inst_15 : HasGoodTensor₁₂Tensor.{u_1, v_1, u_2} X Y Z
inst_16 : HasGoodTensorTensor₂₃.{u_1, v_1, u_2} X Y Z
inst_17 : HasGoodTensor₁₂Tensor.{u_1, v_1, u_2} Z X Y
inst_18 : HasGoodTensorTensor₂₃.{u_1, v_1, u_2} Z X Y
inst_19 : HasGoodTensor₁₂Tensor.{u_1, v_1, u_2} X Z Y
inst_20 : HasGoodTensorTensor₂₃.{u_1, v_1, u_2} X Z Y
k i₁ i₂ i₃ : I
h : i₁ + i₂ + i₃ = k
rw :
  MonoidalCategoryStruct.whiskerLeft (X i₁) (Iso.hom (β_ (Y i₂) (Z i₃))) ≫
    Iso.inv (MonoidalCategoryStruct.associator (X i₁) (Z i₃) (Y i₂)) ≫
      MonoidalCategoryStruct.whiskerRight (Iso.hom (β_ (X i₁) (Z i₃))) (Y i₂) ≫ ιTensorObj₃' Z X Y i₃ i₁ i₂ k ⋯
| CategoryStruct.comp (Y := tensorObj.{u_1, v_1, u_2} X (tensorObj.{u_1, v_1, u_2} Y Z) k)
    (ιTensorObj₃ X Y Z i₁ i₂ i₃ k h)
    (CategoryStruct.comp (Y := tensorObj.{u_1, v_1, u_2} X (tensorObj.{u_1, v_1, u_2} Z Y) k)
      (whiskerLeft X
        (fun (k : I) ↦
          tensorObjDesc fun (i j : I) (hij : i + j = k) ↦ Iso.hom (β_ (Y i) (Z j)) ≫ ιTensorObj Z Y j i k ⋯)
        k)
      (CategoryStruct.comp (Y := tensorObj.{u_1, v_1, u_2} (tensorObj.{u_1, v_1, u_2} X Z) Y k)
        (Iso.inv (associator X Z Y) k)
        (whiskerRight
          (fun (k : I) ↦
            tensorObjDesc fun (i j : I) (hij : i + j = k) ↦ Iso.hom (β_ (X i) (Z j)) ≫ ιTensorObj Z X j i k ⋯)
          Y k)))

Tactic:
rw [ιTensorObj₃_eq X Y Z i₁ i₂ i₃ k h _ rfl, assoc, ι_tensorHom_assoc,
    ← MonoidalCategory.id_tensorHom,
    MonoidalCategory.tensorHom_comp_tensorHom_assoc, id_comp, ι_tensorObjDesc,
    categoryOfGradedObjects_id, MonoidalCategory.id_tensor_comp, assoc,
    MonoidalCategory.id_tensorHom, MonoidalCategory.id_tensorHom,
    ← ιTensorObj₃_eq_assoc X Z Y i₁ i₃ i₂ k
      (by rw [add_assoc, add_comm i₃, ← add_assoc, h]) (i₂ + i₃) (add_comm _ _),
    ιTensorObj₃_associator_inv_assoc,
    ιTensorObj₃'_eq X Z Y i₁ i₃ i₂ k (by rw [add_assoc, add_comm i₃, ← add_assoc, h]) _ rfl,
    assoc, ι_tensorHom, categoryOfGradedObjects_id, ← MonoidalCategory.tensorHom_id,
    ← MonoidalCategory.comp_tensor_id_assoc,
    ι_tensorObjDesc, MonoidalCategory.comp_tensor_id, assoc,
    MonoidalCategory.tensorHom_id, MonoidalCategory.tensorHom_id,
    ← ιTensorObj₃'_eq Z X Y i₃ i₁ i₂ k (by rw [add_assoc, add_comm i₃, h])
      (i₁ + i₃) (add_comm _ _)]

Premises used: CategoryTheory.Category.assoc, CategoryTheory.MonoidalCategory.id_tensorHom, CategoryTheory.MonoidalCategory.comp_tensor_id_assoc, CategoryTheory.GradedObject.categoryOfGradedObjects_id, CategoryTheory.GradedObject.Monoidal.ιTensorObj₃_associator_inv_assoc, CategoryTheory.MonoidalCategory.tensorHom_comp_tensorHom_assoc, add_comm, CategoryTheory.GradedObject.Monoidal.ι_tensorObjDesc, CategoryTheory.GradedObject.Monoidal.ιTensorObj₃_eq, HAdd.hAdd, CategoryTheory.MonoidalCategory.comp_tensor_id, CategoryTheory.GradedObject.Monoidal.ιTensorObj₃_eq_assoc, CategoryTheory.GradedObject.Monoidal.ιTensorObj₃'_eq, CategoryTheory.GradedObject.Monoidal.ι_tensorHom_assoc, CategoryTheory.GradedObject.Monoidal.ι_tensorHom, rfl, CategoryTheory.MonoidalCategory.tensorHom_id, CategoryTheory.MonoidalCategory.id_tensor_comp, CategoryTheory.Category.id_comp