Theorem: CategoryTheory.tensorRightHomEquiv_tensor
File: Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean

tactic: dsimp [tensorRightHomEquiv]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
X X' Y Y' Z Z' : C
inst✝ : ExactPairing Y Y'
f : X ⟶ Z ⊗ Y'
g : X' ⟶ Z'
⊢ ↑(tensorRightHomEquiv (X' ⊗ X) Y Y' (Z' ⊗ Z)).symm ((g ⊗ f) ≫ (α_ Z' Z Y').inv) =
    (α_ X' X Y).hom ≫ (g ⊗ ↑(tensorRightHomEquiv X Y Y' Z).symm f)

tactic: simp only [comp_tensor_id]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
X X' Y Y' Z Z' : C
inst✝ : ExactPairing Y Y'
f : X ⟶ Z ⊗ Y'
g : X' ⟶ Z'
⊢ ((g ⊗ f) ≫ (α_ Z' Z Y').inv ⊗ 𝟙 Y) ≫ (α_ (Z' ⊗ Z) Y' Y).hom ≫ (𝟙 (Z' ⊗ Z) ⊗ ε_ Y Y') ≫ (ρ_ (Z' ⊗ Z)).hom =
    (α_ X' X Y).hom ≫ (g ⊗ (f ⊗ 𝟙 Y) ≫ (α_ Z Y' Y).hom ≫ (𝟙 Z ⊗ ε_ Y Y') ≫ (ρ_ Z).hom)

tactic: simp only [associator_conjugation]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
X X' Y Y' Z Z' : C
inst✝ : ExactPairing Y Y'
f : X ⟶ Z ⊗ Y'
g : X' ⟶ Z'
⊢ (((g ⊗ f) ⊗ 𝟙 Y) ≫ ((α_ Z' Z Y').inv ⊗ 𝟙 Y)) ≫ (α_ (Z' ⊗ Z) Y' Y).hom ≫ (𝟙 (Z' ⊗ Z) ⊗ ε_ Y Y') ≫ (ρ_ (Z' ⊗ Z)).hom =
    (α_ X' X Y).hom ≫ (g ⊗ (f ⊗ 𝟙 Y) ≫ (α_ Z Y' Y).hom ≫ (𝟙 Z ⊗ ε_ Y Y') ≫ (ρ_ Z).hom)

tactic: slice_lhs 2 2 => rw [← tensor_id_comp_id_tensor]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
X X' Y Y' Z Z' : C
inst✝ : ExactPairing Y Y'
f : X ⟶ Z ⊗ Y'
g : X' ⟶ Z'
⊢ (((α_ X' X Y).hom ≫ (g ⊗ f ⊗ 𝟙 Y) ≫ (α_ Z' (Z ⊗ Y') Y).inv) ≫ ((α_ Z' Z Y').inv ⊗ 𝟙 Y)) ≫
      (α_ (Z' ⊗ Z) Y' Y).hom ≫ (𝟙 (Z' ⊗ Z) ⊗ ε_ Y Y') ≫ (ρ_ (Z' ⊗ Z)).hom =
    (α_ X' X Y).hom ≫ (g ⊗ (f ⊗ 𝟙 Y) ≫ (α_ Z Y' Y).hom ≫ (𝟙 Z ⊗ ε_ Y Y') ≫ (ρ_ Z).hom)

tactic: conv_rhs => rw [← tensor_id_comp_id_tensor, id_tensor_comp, id_tensor_comp]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
X X' Y Y' Z Z' : C
inst✝ : ExactPairing Y Y'
f : X ⟶ Z ⊗ Y'
g : X' ⟶ Z'
⊢ (α_ X' X Y).hom ≫
      ((((((g ⊗ 𝟙 (X ⊗ Y)) ≫ (𝟙 Z' ⊗ f ⊗ 𝟙 Y)) ≫ (α_ Z' (Z ⊗ Y') Y).inv) ≫ ((α_ Z' Z Y').inv ⊗ 𝟙 Y)) ≫
            (α_ (Z' ⊗ Z) Y' Y).hom) ≫
          (𝟙 (Z' ⊗ Z) ⊗ ε_ Y Y')) ≫
        (ρ_ (Z' ⊗ Z)).hom =
    (α_ X' X Y).hom ≫ (g ⊗ (f ⊗ 𝟙 Y) ≫ (α_ Z Y' Y).hom ≫ (𝟙 Z ⊗ ε_ Y Y') ≫ (ρ_ Z).hom)

tactic: simp only [← tensor_id, associator_conjugation]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
X X' Y Y' Z Z' : C
inst✝ : ExactPairing Y Y'
f : X ⟶ Z ⊗ Y'
g : X' ⟶ Z'
⊢ (α_ X' X Y).hom ≫
      ((((((g ⊗ 𝟙 (X ⊗ Y)) ≫ (𝟙 Z' ⊗ f ⊗ 𝟙 Y)) ≫ (α_ Z' (Z ⊗ Y') Y).inv) ≫ ((α_ Z' Z Y').inv ⊗ 𝟙 Y)) ≫
            (α_ (Z' ⊗ Z) Y' Y).hom) ≫
          (𝟙 (Z' ⊗ Z) ⊗ ε_ Y Y')) ≫
        (ρ_ (Z' ⊗ Z)).hom =
    (α_ X' X Y).hom ≫
      (g ⊗ 𝟙 (X ⊗ Y)) ≫ (𝟙 Z' ⊗ f ⊗ 𝟙 Y) ≫ (𝟙 Z' ⊗ (α_ Z Y' Y).hom) ≫ (𝟙 Z' ⊗ (𝟙 Z ⊗ ε_ Y Y') ≫ (ρ_ Z).hom)

tactic: simp
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
X X' Y Y' Z Z' : C
inst✝ : ExactPairing Y Y'
f : X ⟶ Z ⊗ Y'
g : X' ⟶ Z'
⊢ (α_ X' X Y).hom ≫
      ((((((g ⊗ 𝟙 X ⊗ 𝟙 Y) ≫ (𝟙 Z' ⊗ f ⊗ 𝟙 Y)) ≫ (α_ Z' (Z ⊗ Y') Y).inv) ≫ ((α_ Z' Z Y').inv ⊗ 𝟙 Y)) ≫
            (α_ (Z' ⊗ Z) Y' Y).hom) ≫
          (α_ Z' Z (Y' ⊗ Y)).hom ≫ (𝟙 Z' ⊗ 𝟙 Z ⊗ ε_ Y Y') ≫ (α_ Z' Z (𝟙_ C)).inv) ≫
        (ρ_ (Z' ⊗ Z)).hom =
    (α_ X' X Y).hom ≫
      (g ⊗ 𝟙 X ⊗ 𝟙 Y) ≫ (𝟙 Z' ⊗ f ⊗ 𝟙 Y) ≫ (𝟙 Z' ⊗ (α_ Z Y' Y).hom) ≫ (𝟙 Z' ⊗ (𝟙 Z ⊗ ε_ Y Y') ≫ (ρ_ Z).hom)

tactic: coherence
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
X X' Y Y' Z Z' : C
inst✝ : ExactPairing Y Y'
f : X ⟶ Z ⊗ Y'
g : X' ⟶ Z'
⊢ (g ⊗ f ⊗ 𝟙 Y) ≫
      (α_ Z' (Z ⊗ Y') Y).inv ≫
        ((α_ Z' Z Y').inv ⊗ 𝟙 Y) ≫
          (α_ (Z' ⊗ Z) Y' Y).hom ≫ (α_ Z' Z (Y' ⊗ Y)).hom ≫ (𝟙 Z' ⊗ 𝟙 Z ⊗ ε_ Y Y') ≫ (𝟙 Z' ⊗ (ρ_ Z).hom) =
    (g ⊗ f ⊗ 𝟙 Y) ≫ (𝟙 Z' ⊗ (α_ Z Y' Y).hom) ≫ (𝟙 Z' ⊗ 𝟙 Z ⊗ ε_ Y Y') ≫ (𝟙 Z' ⊗ (ρ_ Z).hom)