Theorem: CategoryTheory.associator_monoidal_aux
File: Mathlib/CategoryTheory/Monoidal/Braided.lean

tactic: slice_rhs 1 2 => rw [← pentagon_inv]
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (α_ W X (Y ⊗ Z)).inv ≫
      (α_ (W ⊗ X) Y Z).inv ≫
        ((β_ (W ⊗ X) Y).hom ⊗ 𝟙 Z) ≫ ((α_ Y W X).inv ⊗ 𝟙 Z) ≫ (α_ (Y ⊗ W) X Z).hom ≫ (𝟙 (Y ⊗ W) ⊗ (β_ X Z).hom)

tactic: slice_rhs 3 5 => rw [← tensor_comp, ← tensor_comp, hexagon_reverse, tensor_comp, tensor_comp]
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (((((𝟙 W ⊗ (α_ X Y Z).inv) ≫ (α_ W (X ⊗ Y) Z).inv ≫ ((α_ W X Y).inv ⊗ 𝟙 Z)) ≫ ((β_ (W ⊗ X) Y).hom ⊗ 𝟙 Z)) ≫
          ((α_ Y W X).inv ⊗ 𝟙 Z)) ≫
        (α_ (Y ⊗ W) X Z).hom) ≫
      (𝟙 (Y ⊗ W) ⊗ (β_ X Z).hom)

tactic: slice_rhs 5 6 => rw [associator_naturality]
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (𝟙 W ⊗ (α_ X Y Z).inv) ≫
      (α_ W (X ⊗ Y) Z).inv ≫
        ((((𝟙 W ⊗ (β_ X Y).hom) ⊗ 𝟙 Z) ≫ ((α_ W Y X).inv ⊗ 𝟙 Z) ≫ (((β_ W Y).hom ⊗ 𝟙 X) ⊗ 𝟙 Z)) ≫
            (α_ (Y ⊗ W) X Z).hom) ≫
          (𝟙 (Y ⊗ W) ⊗ (β_ X Z).hom)

tactic: slice_rhs 6 7 => rw [tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id]
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (𝟙 W ⊗ (α_ X Y Z).inv) ≫
      (α_ W (X ⊗ Y) Z).inv ≫
        ((𝟙 W ⊗ (β_ X Y).hom) ⊗ 𝟙 Z) ≫
          ((α_ W Y X).inv ⊗ 𝟙 Z) ≫ ((α_ (W ⊗ Y) X Z).hom ≫ ((β_ W Y).hom ⊗ 𝟙 X ⊗ 𝟙 Z)) ≫ (𝟙 (Y ⊗ W) ⊗ (β_ X Z).hom)

tactic: slice_rhs 2 3 => rw [← associator_inv_naturality]
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (𝟙 W ⊗ (α_ X Y Z).inv) ≫
      (α_ W (X ⊗ Y) Z).inv ≫
        ((𝟙 W ⊗ (β_ X Y).hom) ⊗ 𝟙 Z) ≫
          ((α_ W Y X).inv ⊗ 𝟙 Z) ≫ (α_ (W ⊗ Y) X Z).hom ≫ (𝟙 (W ⊗ Y) ⊗ (β_ X Z).hom) ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X))

tactic: slice_rhs 3 5 => rw [pentagon_inv_inv_hom]
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (𝟙 W ⊗ (α_ X Y Z).inv) ≫
      (((((𝟙 W ⊗ (β_ X Y).hom ⊗ 𝟙 Z) ≫ (α_ W (Y ⊗ X) Z).inv) ≫ ((α_ W Y X).inv ⊗ 𝟙 Z)) ≫ (α_ (W ⊗ Y) X Z).hom) ≫
          (𝟙 (W ⊗ Y) ⊗ (β_ X Z).hom)) ≫
        ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X))

tactic: slice_rhs 4 5 => rw [← tensor_id, ← associator_inv_naturality]
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (𝟙 W ⊗ (α_ X Y Z).inv) ≫
      (𝟙 W ⊗ (β_ X Y).hom ⊗ 𝟙 Z) ≫
        (((𝟙 W ⊗ (α_ Y X Z).hom) ≫ (α_ W Y (X ⊗ Z)).inv) ≫ (𝟙 (W ⊗ Y) ⊗ (β_ X Z).hom)) ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X))

tactic: slice_rhs 2 4 => rw [← tensor_comp, ← tensor_comp, ← hexagon_forward, tensor_comp, tensor_comp]
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (𝟙 W ⊗ (α_ X Y Z).inv) ≫
      (𝟙 W ⊗ (β_ X Y).hom ⊗ 𝟙 Z) ≫
        (𝟙 W ⊗ (α_ Y X Z).hom) ≫ ((𝟙 W ⊗ 𝟙 Y ⊗ (β_ X Z).hom) ≫ (α_ W Y (Z ⊗ X)).inv) ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X))

tactic: simp
state_before: C : Type u₁
inst✝⁸ : Category C
inst✝⁷ : MonoidalCategory C
inst✝⁶ : BraidedCategory C
D : Type u₂
inst✝⁵ : Category D
inst✝⁴ : MonoidalCategory D
inst✝³ : BraidedCategory D
E : Type u₃
inst✝² : Category E
inst✝¹ : MonoidalCategory E
inst✝ : BraidedCategory E
W X Y Z : C
⊢ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom) ≫ (α_ W Y (Z ⊗ X)).inv ≫ ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X)) =
    (𝟙 W ⊗ (α_ X Y Z).inv) ≫
      (((𝟙 W ⊗ (α_ X Y Z).hom) ≫ (𝟙 W ⊗ (β_ X (Y ⊗ Z)).hom) ≫ (𝟙 W ⊗ (α_ Y Z X).hom)) ≫ (α_ W Y (Z ⊗ X)).inv) ≫
        ((β_ W Y).hom ⊗ 𝟙 (Z ⊗ X))