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

tactic: slice_rhs 3 5 => 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).hom ⊗ 𝟙 (Y ⊗ Z)) ≫
      (α_ X W (Y ⊗ Z)).hom ≫ (𝟙 X ⊗ (α_ W Y Z).inv) ≫ (𝟙 X ⊗ (β_ (W ⊗ Y) Z).hom) ≫ (𝟙 X ⊗ (α_ Z W Y).inv) =
    (𝟙 (W ⊗ X) ⊗ (β_ Y Z).hom) ≫
      (α_ (W ⊗ X) Z Y).inv ≫
        ((α_ W X Z).hom ⊗ 𝟙 Y) ≫ ((β_ W (X ⊗ Z)).hom ⊗ 𝟙 Y) ≫ ((α_ X Z W).hom ⊗ 𝟙 Y) ≫ (α_ X (Z ⊗ W) Y).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).hom ⊗ 𝟙 (Y ⊗ Z)) ≫
      (α_ X W (Y ⊗ Z)).hom ≫ (𝟙 X ⊗ (α_ W Y Z).inv) ≫ (𝟙 X ⊗ (β_ (W ⊗ Y) Z).hom) ≫ (𝟙 X ⊗ (α_ Z W Y).inv) =
    (𝟙 (W ⊗ X) ⊗ (β_ Y Z).hom) ≫
      (α_ (W ⊗ X) Z Y).inv ≫
        ((((β_ W X).hom ⊗ 𝟙 Z) ⊗ 𝟙 Y) ≫ ((α_ X W Z).hom ⊗ 𝟙 Y) ≫ ((𝟙 X ⊗ (β_ W Z).hom) ⊗ 𝟙 Y)) ≫ (α_ X (Z ⊗ W) Y).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).hom ⊗ 𝟙 (Y ⊗ Z)) ≫
      (α_ X W (Y ⊗ Z)).hom ≫ (𝟙 X ⊗ (α_ W Y Z).inv) ≫ (𝟙 X ⊗ (β_ (W ⊗ Y) Z).hom) ≫ (𝟙 X ⊗ (α_ Z W Y).inv) =
    (𝟙 (W ⊗ X) ⊗ (β_ Y Z).hom) ≫
      (α_ (W ⊗ X) Z Y).inv ≫
        (((β_ W X).hom ⊗ 𝟙 Z) ⊗ 𝟙 Y) ≫ ((α_ X W Z).hom ⊗ 𝟙 Y) ≫ (α_ X (W ⊗ Z) Y).hom ≫ (𝟙 X ⊗ (β_ W Z).hom ⊗ 𝟙 Y)

tactic: slice_rhs 3 5 => rw [← pentagon_hom_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).hom ⊗ 𝟙 (Y ⊗ Z)) ≫
      (α_ X W (Y ⊗ Z)).hom ≫ (𝟙 X ⊗ (α_ W Y Z).inv) ≫ (𝟙 X ⊗ (β_ (W ⊗ Y) Z).hom) ≫ (𝟙 X ⊗ (α_ Z W Y).inv) =
    (𝟙 (W ⊗ X) ⊗ (β_ Y Z).hom) ≫
      (((((β_ W X).hom ⊗ 𝟙 Z ⊗ 𝟙 Y) ≫ (α_ (X ⊗ W) Z Y).inv) ≫ ((α_ X W Z).hom ⊗ 𝟙 Y)) ≫ (α_ X (W ⊗ Z) Y).hom) ≫
        (𝟙 X ⊗ (β_ W Z).hom ⊗ 𝟙 Y)

tactic: slice_rhs 1 2 => rw [tensor_id, id_tensor_comp_tensor_id, ← tensor_id_comp_id_tensor]
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).hom ⊗ 𝟙 (Y ⊗ Z)) ≫
      (α_ X W (Y ⊗ Z)).hom ≫ (𝟙 X ⊗ (α_ W Y Z).inv) ≫ (𝟙 X ⊗ (β_ (W ⊗ Y) Z).hom) ≫ (𝟙 X ⊗ (α_ Z W Y).inv) =
    (𝟙 (W ⊗ X) ⊗ (β_ Y Z).hom) ≫
      ((β_ W X).hom ⊗ 𝟙 Z ⊗ 𝟙 Y) ≫ ((α_ X W (Z ⊗ Y)).hom ≫ (𝟙 X ⊗ (α_ W Z Y).inv)) ≫ (𝟙 X ⊗ (β_ W Z).hom ⊗ 𝟙 Y)

tactic: slice_rhs 2 3 => rw [← tensor_id, 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).hom ⊗ 𝟙 (Y ⊗ Z)) ≫
      (α_ X W (Y ⊗ Z)).hom ≫ (𝟙 X ⊗ (α_ W Y Z).inv) ≫ (𝟙 X ⊗ (β_ (W ⊗ Y) Z).hom) ≫ (𝟙 X ⊗ (α_ Z W Y).inv) =
    (((((β_ W X).hom ⊗ 𝟙 (Y ⊗ Z)) ≫ (𝟙 (X ⊗ W) ⊗ (β_ Y Z).hom)) ≫ (α_ X W (Z ⊗ Y)).hom) ≫ (𝟙 X ⊗ (α_ W Z Y).inv)) ≫
      (𝟙 X ⊗ (β_ W Z).hom ⊗ 𝟙 Y)

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).hom ⊗ 𝟙 (Y ⊗ Z)) ≫
      (α_ X W (Y ⊗ Z)).hom ≫ (𝟙 X ⊗ (α_ W Y Z).inv) ≫ (𝟙 X ⊗ (β_ (W ⊗ Y) Z).hom) ≫ (𝟙 X ⊗ (α_ Z W Y).inv) =
    ((β_ W X).hom ⊗ 𝟙 (Y ⊗ Z)) ≫
      (((α_ X W (Y ⊗ Z)).hom ≫ (𝟙 X ⊗ 𝟙 W ⊗ (β_ Y Z).hom)) ≫ (𝟙 X ⊗ (α_ W Z Y).inv)) ≫ (𝟙 X ⊗ (β_ W Z).hom ⊗ 𝟙 Y)