Module: Mathlib.CategoryTheory.Localization.Monoidal.Basic

Goal state before:
pp: C : Type u_1
D : Type u_2
inst✝⁴ : Category.{v_1, u_1} C
inst✝³ : Category.{v_2, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝² : MonoidalCategory C
inst✝¹ : W.IsMonoidal
inst✝ : L.IsLocalization W
unit : D
ε : L.obj (𝟙_ C) ≅ unit
Y₁ Y₂ Y₃ Y₄ : LocalizedMonoidal L W ε
X₁ : C
e₁ : L'.obj X₁ ≅ Y₁
X₂ : C
e₂ : L'.obj X₂ ≅ Y₂
X₃ : C
e₃ : L'.obj X₃ ≅ Y₃
X₄ : C
e₄ : L'.obj X₄ ≅ Y₄
this :
  (L'.obj X₁ ◁ (μ L W ε X₂ X₃).inv) ▷ L'.obj X₄ ≫
      (α_ (L'.obj X₁) (L'.obj X₂ ⊗ L'.obj X₃) (L'.obj X₄)).hom ≫ L'.obj X₁ ◁ (μ L W ε X₂ X₃).hom ▷ L'.obj X₄ =
    (α_ (L'.obj X₁) (L'.obj (X₂ ⊗ X₃)) (L'.obj X₄)).hom
⊢ ((μ L W ε X₁ X₂).hom ▷ L'.obj X₃ ≫ (μ L W ε (X₁ ⊗ X₂) X₃).hom) ▷ L'.obj X₄ ≫
      (μ L W ε ((X₁ ⊗ X₂) ⊗ X₃) X₄).hom ≫
        L'.map ((α_ X₁ X₂ X₃).hom ▷ X₄) ≫
          L'.map (α_ X₁ (X₂ ⊗ X₃) X₄).hom ≫
            (μ L W ε X₁ ((X₂ ⊗ X₃) ⊗ X₄)).inv ≫
              L'.obj X₁ ◁ (L'.map (α_ X₂ X₃ X₄).hom ≫ (μ L W ε X₂ (X₃ ⊗ X₄)).inv ≫ L'.obj X₂ ◁ (μ L W ε X₃ X₄).inv) =
    (μ L W ε X₁ X₂).hom ▷ L'.obj X₃ ▷ L'.obj X₄ ≫
      ((μ L W ε (X₁ ⊗ X₂) X₃).hom ⊗ₘ 𝟙 (L'.obj X₄)) ≫
        (μ L W ε ((X₁ ⊗ X₂) ⊗ X₃) X₄).hom ≫
          L'.map (α_ (X₁ ⊗ X₂) X₃ X₄).hom ≫
            (μ L W ε (X₁ ⊗ X₂) (X₃ ⊗ X₄)).inv ≫
              L'.obj (X₁ ⊗ X₂) ◁ (μ L W ε X₃ X₄).inv ≫
                (μ L W ε X₁ X₂).inv ▷ (L'.obj X₃ ⊗ L'.obj X₄) ≫
                  (L'.obj X₁ ⊗ L'.obj X₂) ◁ (μ L W ε X₃ X₄).hom ≫
                    ((μ L W ε X₁ X₂).hom ⊗ₘ 𝟙 (L'.obj (X₃ ⊗ X₄))) ≫
                      (μ L W ε (X₁ ⊗ X₂) (X₃ ⊗ X₄)).hom ≫
                        L'.map (α_ X₁ X₂ (X₃ ⊗ X₄)).hom ≫
                          (μ L W ε X₁ (X₂ ⊗ X₃ ⊗ X₄)).inv ≫
                            L'.obj X₁ ◁ ((μ L W ε X₂ (X₃ ⊗ X₄)).inv ≫ L'.obj X₂ ◁ (μ L W ε X₃ X₄).inv)

Tactic:
rw [← (L').map_comp_assoc, whiskerLeft_comp, μ_inv_natural_right_assoc, ← (L').map_comp_assoc]

Goal state after:
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{v_1, u_1} C
inst✝³ : Category.{v_2, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝² : MonoidalCategory C
inst✝¹ : W.IsMonoidal
inst✝ : L.IsLocalization W
unit : D
ε : L.obj (𝟙_ C) ≅ unit
Y₁ Y₂ Y₃ Y₄ : LocalizedMonoidal L W ε
X₁ : C
e₁ : L'.obj X₁ ≅ Y₁
X₂ : C
e₂ : L'.obj X₂ ≅ Y₂
X₃ : C
e₃ : L'.obj X₃ ≅ Y₃
X₄ : C
e₄ : L'.obj X₄ ≅ Y₄
this :
  (L'.obj X₁ ◁ (μ L W ε X₂ X₃).inv) ▷ L'.obj X₄ ≫
      (α_ (L'.obj X₁) (L'.obj X₂ ⊗ L'.obj X₃) (L'.obj X₄)).hom ≫ L'.obj X₁ ◁ (μ L W ε X₂ X₃).hom ▷ L'.obj X₄ =
    (α_ (L'.obj X₁) (L'.obj (X₂ ⊗ X₃)) (L'.obj X₄)).hom
⊢ ((μ L W ε X₁ X₂).hom ▷ L'.obj X₃ ≫ (μ L W ε (X₁ ⊗ X₂) X₃).hom) ▷ L'.obj X₄ ≫
      (μ L W ε ((X₁ ⊗ X₂) ⊗ X₃) X₄).hom ≫
        L'.map (((α_ X₁ X₂ X₃).hom ▷ X₄ ≫ (α_ X₁ (X₂ ⊗ X₃) X₄).hom) ≫ X₁ ◁ (α_ X₂ X₃ X₄).hom) ≫
          (μ L W ε X₁ (X₂ ⊗ X₃ ⊗ X₄)).inv ≫ L'.obj X₁ ◁ ((μ L W ε X₂ (X₃ ⊗ X₄)).inv ≫ L'.obj X₂ ◁ (μ L W ε X₃ X₄).inv) =
    (μ L W ε X₁ X₂).hom ▷ L'.obj X₃ ▷ L'.obj X₄ ≫
      ((μ L W ε (X₁ ⊗ X₂) X₃).hom ⊗ₘ 𝟙 (L'.obj X₄)) ≫
        (μ L W ε ((X₁ ⊗ X₂) ⊗ X₃) X₄).hom ≫
          L'.map (α_ (X₁ ⊗ X₂) X₃ X₄).hom ≫
            (μ L W ε (X₁ ⊗ X₂) (X₃ ⊗ X₄)).inv ≫
              L'.obj (X₁ ⊗ X₂) ◁ (μ L W ε X₃ X₄).inv ≫
                (μ L W ε X₁ X₂).inv ▷ (L'.obj X₃ ⊗ L'.obj X₄) ≫
                  (L'.obj X₁ ⊗ L'.obj X₂) ◁ (μ L W ε X₃ X₄).hom ≫
                    ((μ L W ε X₁ X₂).hom ⊗ₘ 𝟙 (L'.obj (X₃ ⊗ X₄))) ≫
                      (μ L W ε (X₁ ⊗ X₂) (X₃ ⊗ X₄)).hom ≫
                        L'.map (α_ X₁ X₂ (X₃ ⊗ X₄)).hom ≫
                          (μ L W ε X₁ (X₂ ⊗ X₃ ⊗ X₄)).inv ≫
                            L'.obj X₁ ◁ ((μ L W ε X₂ (X₃ ⊗ X₄)).inv ≫ L'.obj X₂ ◁ (μ L W ε X₃ X₄).inv)