Theorem: CategoryTheory.braiding_leftUnitor_aux₂
File: Mathlib/CategoryTheory/Monoidal/Braided.lean

tactic: coherence
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C)) =
    ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫ (α_ (𝟙_ C) X (𝟙_ C)).hom ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C))

tactic: (slice_rhs 3 4 => rw [← id_tensor_comp, Iso.hom_inv_id, tensor_id])
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫ (α_ (𝟙_ C) X (𝟙_ C)).hom ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C)) =
    ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫
      (α_ (𝟙_ C) X (𝟙_ C)).hom ≫
        (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).hom) ≫
          (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C))

tactic: rw [id_comp]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫ (α_ (𝟙_ C) X (𝟙_ C)).hom ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C)) =
    ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫
      (α_ (𝟙_ C) X (𝟙_ C)).hom ≫ (𝟙 (𝟙_ C ⊗ X ⊗ 𝟙_ C) ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv) ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C))

tactic: slice_rhs 3 4 => rw [← id_tensor_comp, Iso.hom_inv_id, tensor_id]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫ (α_ (𝟙_ C) X (𝟙_ C)).hom ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C)) =
    ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫
      (α_ (𝟙_ C) X (𝟙_ C)).hom ≫
        (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).hom) ≫
          (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C))

tactic: (slice_lhs 1 3 => rw [← hexagon_forward])
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫
      (α_ (𝟙_ C) X (𝟙_ C)).hom ≫
        (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).hom) ≫
          (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C)) =
    (α_ X tensorUnit' (𝟙_ C)).hom ≫
      (β_ X (tensorUnit' ⊗ 𝟙_ C)).hom ≫
        (α_ tensorUnit' (𝟙_ C) X).hom ≫
          (𝟙 tensorUnit' ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ tensorUnit' X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C))

tactic: simp only [assoc]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ ((((α_ X (𝟙_ C) (𝟙_ C)).hom ≫ (β_ X (𝟙_ C ⊗ 𝟙_ C)).hom ≫ (α_ (𝟙_ C) (𝟙_ C) X).hom) ≫ (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).inv)) ≫
        (α_ (𝟙_ C) X (𝟙_ C)).inv) ≫
      ((λ_ X).hom ⊗ 𝟙 (𝟙_ C)) =
    (α_ X tensorUnit' (𝟙_ C)).hom ≫
      (β_ X (tensorUnit' ⊗ 𝟙_ C)).hom ≫
        (α_ tensorUnit' (𝟙_ C) X).hom ≫
          (𝟙 tensorUnit' ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ tensorUnit' X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C))

tactic: slice_lhs 1 3 => rw [← hexagon_forward]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ ((β_ X (𝟙_ C)).hom ⊗ 𝟙 (𝟙_ C)) ≫
      (α_ (𝟙_ C) X (𝟙_ C)).hom ≫
        (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).hom) ≫
          (𝟙 (𝟙_ C) ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ (𝟙_ C) X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C)) =
    (α_ X tensorUnit' (𝟙_ C)).hom ≫
      (β_ X (tensorUnit' ⊗ 𝟙_ C)).hom ≫
        (α_ tensorUnit' (𝟙_ C) X).hom ≫
          (𝟙 tensorUnit' ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ tensorUnit' X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C))

tactic: rw [braiding_leftUnitor_aux₁]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ (α_ X tensorUnit' (𝟙_ C)).hom ≫
      (β_ X (tensorUnit' ⊗ 𝟙_ C)).hom ≫
        (α_ tensorUnit' (𝟙_ C) X).hom ≫
          (𝟙 tensorUnit' ⊗ (β_ X (𝟙_ C)).inv) ≫ (α_ tensorUnit' X (𝟙_ C)).inv ≫ ((λ_ X).hom ⊗ 𝟙 (𝟙_ C)) =
    (α_ X tensorUnit' (𝟙_ C)).hom ≫ (β_ X (tensorUnit' ⊗ 𝟙_ C)).hom ≫ ((λ_ (𝟙_ C)).hom ⊗ 𝟙 X) ≫ (β_ X (𝟙_ C)).inv

tactic: (slice_lhs 2 3 => rw [← braiding_naturality])
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ (α_ X tensorUnit' (𝟙_ C)).hom ≫ (β_ X (tensorUnit' ⊗ 𝟙_ C)).hom ≫ ((λ_ (𝟙_ C)).hom ⊗ 𝟙 X) ≫ (β_ X (𝟙_ C)).inv =
    (α_ X tensorUnit' (𝟙_ C)).hom ≫ (𝟙 X ⊗ (λ_ (𝟙_ C)).hom) ≫ (β_ X (𝟙_ C)).hom ≫ (β_ X (𝟙_ C)).inv

tactic: simp only [assoc]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ (α_ X tensorUnit' (𝟙_ C)).hom ≫ ((𝟙 X ⊗ (λ_ (𝟙_ C)).hom) ≫ (β_ X (𝟙_ C)).hom) ≫ (β_ X (𝟙_ C)).inv =
    (α_ X tensorUnit' (𝟙_ C)).hom ≫ (𝟙 X ⊗ (λ_ (𝟙_ C)).hom) ≫ (β_ X (𝟙_ C)).hom ≫ (β_ X (𝟙_ C)).inv

tactic: slice_lhs 2 3 => rw [← braiding_naturality]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ (α_ X tensorUnit' (𝟙_ C)).hom ≫ (β_ X (tensorUnit' ⊗ 𝟙_ C)).hom ≫ ((λ_ (𝟙_ C)).hom ⊗ 𝟙 X) ≫ (β_ X (𝟙_ C)).inv =
    (α_ X tensorUnit' (𝟙_ C)).hom ≫ (𝟙 X ⊗ (λ_ (𝟙_ C)).hom) ≫ (β_ X (𝟙_ C)).hom ≫ (β_ X (𝟙_ C)).inv

tactic: rw [Iso.hom_inv_id, comp_id]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ (α_ X tensorUnit' (𝟙_ C)).hom ≫ (𝟙 X ⊗ (λ_ (𝟙_ C)).hom) ≫ (β_ X (𝟙_ C)).hom ≫ (β_ X (𝟙_ C)).inv =
    (α_ X tensorUnit' (𝟙_ C)).hom ≫ (𝟙 X ⊗ (λ_ (𝟙_ C)).hom)

tactic: rw [triangle]
state_before: C : Type u₁
inst✝² : Category C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X : C
⊢ (α_ X tensorUnit' (𝟙_ C)).hom ≫ (𝟙 X ⊗ (λ_ (𝟙_ C)).hom) = (ρ_ X).hom ⊗ 𝟙 (𝟙_ C)