Theorem: CategoryTheory.enrichedNatTransYoneda_obj
File: Mathlib/CategoryTheory/Enriched/Basic.lean

Proof steps:
state_before: V : Type v
inst✝⁴ : Category.{w, v} V
inst✝³ : MonoidalCategory V
C : Type u₁
inst✝² : EnrichedCategory V C
D : Type u₂
inst✝¹ : EnrichedCategory V D
inst✝ : BraidedCategory V
F G : EnrichedFunctor V C D
X✝ Y✝ : Vᵒᵖ
f : X✝ ⟶ Y✝
σ : (fun A => GradedNatTrans ((Center.ofBraided V).obj (unop A)) F G) X✝
X Y : C
⊢ (((Center.ofBraided V).obj (unop Y✝)).snd.β (EnrichedCategory.Hom X Y)).hom ≫
      (F.map X Y ⊗ (fun X => f.unop ≫ σ.app X) Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    ((fun X => f.unop ≫ σ.app X) X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
state_after: V : Type v
inst✝⁴ : Category.{w, v} V
inst✝³ : MonoidalCategory V
C : Type u₁
inst✝² : EnrichedCategory V C
D : Type u₂
inst✝¹ : EnrichedCategory V D
inst✝ : BraidedCategory V
F G : EnrichedFunctor V C D
X✝ Y✝ : Vᵒᵖ
f : X✝ ⟶ Y✝
σ : (fun A => GradedNatTrans ((Center.ofBraided V).obj (unop A)) F G) X✝
X Y : C
p :
  (((Center.ofBraided V).obj (unop X✝)).snd.β (EnrichedCategory.Hom X Y)).hom ≫
      (F.map X Y ⊗ σ.app Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    (σ.app X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
⊢ (((Center.ofBraided V).obj (unop Y✝)).snd.β (EnrichedCategory.Hom X Y)).hom ≫
      (F.map X Y ⊗ (fun X => f.unop ≫ σ.app X) Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    ((fun X => f.unop ≫ σ.app X) X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
tactic: have p := σ.naturality X Y
state_before: V : Type v
inst✝⁴ : Category.{w, v} V
inst✝³ : MonoidalCategory V
C : Type u₁
inst✝² : EnrichedCategory V C
D : Type u₂
inst✝¹ : EnrichedCategory V D
inst✝ : BraidedCategory V
F G : EnrichedFunctor V C D
X✝ Y✝ : Vᵒᵖ
f : X✝ ⟶ Y✝
σ : (fun A => GradedNatTrans ((Center.ofBraided V).obj (unop A)) F G) X✝
X Y : C
p :
  (((Center.ofBraided V).obj (unop X✝)).snd.β (EnrichedCategory.Hom X Y)).hom ≫
      (F.map X Y ⊗ σ.app Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    (σ.app X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
⊢ (((Center.ofBraided V).obj (unop Y✝)).snd.β (EnrichedCategory.Hom X Y)).hom ≫
      (F.map X Y ⊗ (fun X => f.unop ≫ σ.app X) Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    ((fun X => f.unop ≫ σ.app X) X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
state_after: V : Type v
inst✝⁴ : Category.{w, v} V
inst✝³ : MonoidalCategory V
C : Type u₁
inst✝² : EnrichedCategory V C
D : Type u₂
inst✝¹ : EnrichedCategory V D
inst✝ : BraidedCategory V
F G : EnrichedFunctor V C D
X✝ Y✝ : Vᵒᵖ
f : X✝ ⟶ Y✝
σ : (fun A => GradedNatTrans ((Center.ofBraided V).obj (unop A)) F G) X✝
X Y : C
p :
  (β_ (unop X✝) (EnrichedCategory.Hom X Y)).hom ≫ (F.map X Y ⊗ σ.app Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    (σ.app X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
⊢ (β_ (unop Y✝) (EnrichedCategory.Hom X Y)).hom ≫
      (F.map X Y ⊗ f.unop ≫ σ.app Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    (f.unop ≫ σ.app X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
tactic: dsimp at p ⊢
state_before: V : Type v
inst✝⁴ : Category.{w, v} V
inst✝³ : MonoidalCategory V
C : Type u₁
inst✝² : EnrichedCategory V C
D : Type u₂
inst✝¹ : EnrichedCategory V D
inst✝ : BraidedCategory V
F G : EnrichedFunctor V C D
X✝ Y✝ : Vᵒᵖ
f : X✝ ⟶ Y✝
σ : (fun A => GradedNatTrans ((Center.ofBraided V).obj (unop A)) F G) X✝
X Y : C
p :
  (β_ (unop X✝) (EnrichedCategory.Hom X Y)).hom ≫ (F.map X Y ⊗ σ.app Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    (σ.app X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
⊢ (β_ (unop Y✝) (EnrichedCategory.Hom X Y)).hom ≫
      (F.map X Y ⊗ f.unop ≫ σ.app Y) ≫ eComp V (F.obj X) (F.obj Y) (G.obj Y) =
    (f.unop ≫ σ.app X ⊗ G.map X Y) ≫ eComp V (F.obj X) (G.obj X) (G.obj Y)
state_after: no goals
tactic: rw [← id_tensor_comp_tensor_id (f.unop ≫ σ.app Y) _, id_tensor_comp, Category.assoc,
          Category.assoc, ← braiding_naturality_assoc, id_tensor_comp_tensor_id_assoc, p, ←
          tensor_comp_assoc, Category.id_comp]