-- Mathlib/CategoryTheory/Localization/Monoidal.lean
lemma pentagon (Y₁ Y₂ Y₃ Y₄ : LocalizedMonoidal L W ε) :
    Pentagon Y₁ Y₂ Y₃ Y₄

Proof state:
case intro.intro.intro.intro.intro.intro.intro.intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_3, u_1} C
inst✝³ : Category.{u_4, 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'.obj X₁) (L'.obj X₂) (L'.obj X₃)).hom ▷ L'.obj X₄ ≫
      (α_ (L'.obj X₁) (L'.obj X₂ ⊗ L'.obj X₃) (L'.obj X₄)).hom ≫
        L'.obj X₁ ◁ (α_ (L'.obj X₂) (L'.obj X₃) (L'.obj X₄)).hom =
    (α_ (L'.obj X₁ ⊗ L'.obj X₂) (L'.obj X₃) (L'.obj X₄)).hom ≫ (α_ (L'.obj X₁) (L'.obj X₂) (L'.obj X₃ ⊗ L'.obj X₄)).hom

Tactic:
rw [associator_hom_app, tensorHom_id, id_tensorHom, associator_hom_app, tensorHom_id,
  whiskerLeft_comp, whiskerRight_comp,  whiskerRight_comp,  whiskerRight_comp, assoc, assoc,
  assoc, whiskerRight_comp, assoc,
  reassoc_of% this, associator_hom_app, tensorHom_id,
  ← pentagon_aux₁ (X₂ := (L').obj X₃) (X₃ := (L').obj X₄) (i := μ L W ε X₁ X₂),
  ← pentagon_aux₃ (X₁ := (L').obj X₁) (X₂ := (L').obj X₂) (i := μ L W ε X₃ X₄),
  associator_hom_app, associator_hom_app]

Result:
case intro.intro.intro.intro.intro.intro.intro.intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_3, u_1} C
inst✝³ : Category.{u_4, 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'.obj X₄ ≫
      (μ L W ε (X₁ ⊗ X₂) X₃).hom ▷ L'.obj X₄ ≫
        L'.map (α_ X₁ X₂ X₃).hom ▷ L'.obj X₄ ≫
          (μ L W ε X₁ (X₂ ⊗ X₃)).inv ▷ 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₁) ⊗ (μ L W ε (X₂ ⊗ X₃) X₄).inv)) ≫
              L'.obj X₁ ◁
                ((μ L W ε (X₂ ⊗ X₃) X₄).hom ≫
                  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'.obj X₂ ◁ (μ L W ε X₃ X₄).inv

Proof state:
case intro.intro.intro.intro.intro.intro.intro.intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_3, u_1} C
inst✝³ : Category.{u_4, 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)

Tactic:
simp only [assoc, MonoidalCategory.pentagon, Functor.map_comp, tensorHom_id,
  whiskerRight_comp_assoc]

Result:
case intro.intro.intro.intro.intro.intro.intro.intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_3, u_1} C
inst✝³ : Category.{u_4, 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'.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'.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) =
    (μ 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)