[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
f g : X ⟶ Y
w : f.f = g.f
⊢ f = g
[PROOFSTEP]
cases f
[GOAL]
case mk
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
g : X ⟶ Y
f✝ : X.fst ⟶ Y.fst
comm✝ : ∀ (U : C), (f✝ ⊗ 𝟙 U) ≫ (HalfBraiding.β Y.snd U).hom = (HalfBraiding.β X.snd U).hom ≫ (𝟙 U ⊗ f✝)
w : (Hom.mk f✝).f = g.f
⊢ Hom.mk f✝ = g
[PROOFSTEP]
cases g
[GOAL]
case mk.mk
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
f✝¹ : X.fst ⟶ Y.fst
comm✝¹ : ∀ (U : C), (f✝¹ ⊗ 𝟙 U) ≫ (HalfBraiding.β Y.snd U).hom = (HalfBraiding.β X.snd U).hom ≫ (𝟙 U ⊗ f✝¹)
f✝ : X.fst ⟶ Y.fst
comm✝ : ∀ (U : C), (f✝ ⊗ 𝟙 U) ≫ (HalfBraiding.β Y.snd U).hom = (HalfBraiding.β X.snd U).hom ≫ (𝟙 U ⊗ f✝)
w : (Hom.mk f✝¹).f = (Hom.mk f✝).f
⊢ Hom.mk f✝¹ = Hom.mk f✝
[PROOFSTEP]
congr
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
X Y : Center C
f : X ⟶ Y
inst✝ : IsIso f.f
U : C
⊢ (inv f.f ⊗ 𝟙 U) ≫ (HalfBraiding.β X.snd U).hom = (HalfBraiding.β Y.snd U).hom ≫ (𝟙 U ⊗ inv f.f)
[PROOFSTEP]
simp [← cancel_epi (f.f ⊗ 𝟙 U), ← comp_tensor_id_assoc, ← id_tensor_comp]
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
X Y : Center C
f : X ⟶ Y
inst✝ : IsIso f.f
⊢ IsIso f
[PROOFSTEP]
change IsIso (isoMk f).hom
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
X Y : Center C
f : X ⟶ Y
inst✝ : IsIso f.f
⊢ IsIso (isoMk f).hom
[PROOFSTEP]
infer_instance
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ ((fun U =>
          α_ X.fst Y.fst U ≪≫
            (Iso.refl X.fst ⊗ HalfBraiding.β Y.snd U) ≪≫
              (α_ X.fst U Y.fst).symm ≪≫ (HalfBraiding.β X.snd U ⊗ Iso.refl Y.fst) ≪≫ α_ U X.fst Y.fst)
        (U ⊗ U')).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      (((fun U =>
                α_ X.fst Y.fst U ≪≫
                  (Iso.refl X.fst ⊗ HalfBraiding.β Y.snd U) ≪≫
                    (α_ X.fst U Y.fst).symm ≪≫ (HalfBraiding.β X.snd U ⊗ Iso.refl Y.fst) ≪≫ α_ U X.fst Y.fst)
              U).hom ⊗
          𝟙 U') ≫
        (α_ U (X.fst ⊗ Y.fst) U').hom ≫
          (𝟙 U ⊗
              ((fun U =>
                    α_ X.fst Y.fst U ≪≫
                      (Iso.refl X.fst ⊗ HalfBraiding.β Y.snd U) ≪≫
                        (α_ X.fst U Y.fst).symm ≪≫ (HalfBraiding.β X.snd U ⊗ Iso.refl Y.fst) ≪≫ α_ U X.fst Y.fst)
                  U').hom) ≫
            (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd (U ⊗ U')).hom) ≫
        (α_ X.fst (U ⊗ U') Y.fst).inv ≫
          ((HalfBraiding.β X.snd (U ⊗ U')).hom ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ≫
            (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ≫
              (α_ X.fst U Y.fst).inv ≫ ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ≫ (α_ U X.fst Y.fst).hom ⊗
          𝟙 U') ≫
        (α_ U (X.fst ⊗ Y.fst) U').hom ≫
          (𝟙 U ⊗
              (α_ X.fst Y.fst U').hom ≫
                (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom) ≫
                  (α_ X.fst U' Y.fst).inv ≫ ((HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst) ≫ (α_ U' X.fst Y.fst).hom) ≫
            (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
simp only [comp_tensor_id, id_tensor_comp, Category.assoc, HalfBraiding.monoidal]
  -- On the RHS, we'd like to commute `((X.snd.β U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U'`
          -- and `𝟙 U ⊗ 𝟙 X.fst ⊗ (Y.snd.β U').hom` past each other,
          -- but there are some associators we need to get out of the way first.
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U') ≫
          ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U') ≫
            (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U') ≫
              ((α_ U X.fst Y.fst).hom ⊗ 𝟙 U') ≫
                (α_ U (X.fst ⊗ Y.fst) U').hom ≫
                  (𝟙 U ⊗ (α_ X.fst Y.fst U').hom) ≫
                    (𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom) ≫
                      (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv) ≫
                        (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst) ≫
                          (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom) ≫ (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
slice_rhs 6 8 => rw [pentagon]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((α_ U X.fst Y.fst).hom ⊗ 𝟙 U') ≫ (α_ U (X.fst ⊗ Y.fst) U').hom ≫ (𝟙 U ⊗ (α_ X.fst Y.fst U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U'
[PROOFSTEP]
rw [pentagon]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((α_ U X.fst Y.fst).hom ⊗ 𝟙 U') ≫ (α_ U (X.fst ⊗ Y.fst) U').hom ≫ (𝟙 U ⊗ (α_ X.fst Y.fst U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U'
[PROOFSTEP]
rw [pentagon]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((α_ U X.fst Y.fst).hom ⊗ 𝟙 U') ≫ (α_ U (X.fst ⊗ Y.fst) U').hom ≫ (𝟙 U ⊗ (α_ X.fst Y.fst U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U'
[PROOFSTEP]
rw [pentagon]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U') ≫
          ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U') ≫
            (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U') ≫
              ((((((α_ (U ⊗ X.fst) Y.fst U').hom ≫ (α_ U X.fst (Y.fst ⊗ U')).hom) ≫
                        (𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom)) ≫
                      (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv)) ≫
                    (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst)) ≫
                  (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom)) ≫
                (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
slice_rhs 5 6 => rw [associator_naturality]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U') ≫ (α_ (U ⊗ X.fst) Y.fst U').hom
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (Y.fst ⊗ U')).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
[PROOFSTEP]
rw [associator_naturality]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U') ≫ (α_ (U ⊗ X.fst) Y.fst U').hom
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (Y.fst ⊗ U')).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
[PROOFSTEP]
rw [associator_naturality]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ⊗ 𝟙 U') ≫ (α_ (U ⊗ X.fst) Y.fst U').hom
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (Y.fst ⊗ U')).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
[PROOFSTEP]
rw [associator_naturality]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U') ≫
          ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U') ≫
            (((((((α_ (X.fst ⊗ U) Y.fst U').hom ≫ ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 U')) ≫
                        (α_ U X.fst (Y.fst ⊗ U')).hom) ≫
                      (𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom)) ≫
                    (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv)) ≫
                  (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst)) ≫
                (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom)) ≫
              (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
slice_rhs 7 8 => rw [← associator_naturality]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (Y.fst ⊗ U')).hom ≫ (𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 U'
[PROOFSTEP]
rw [← associator_naturality]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (Y.fst ⊗ U')).hom ≫ (𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 U'
[PROOFSTEP]
rw [← associator_naturality]
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (Y.fst ⊗ U')).hom ≫ (𝟙 U ⊗ 𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 U'
[PROOFSTEP]
rw [← associator_naturality]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U') ≫
          ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U') ≫
            (α_ (X.fst ⊗ U) Y.fst U').hom ≫
              ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 U') ≫
                ((((((𝟙 U ⊗ 𝟙 X.fst) ⊗ (HalfBraiding.β Y.snd U').hom) ≫ (α_ U X.fst (U' ⊗ Y.fst)).hom) ≫
                        (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv)) ≫
                      (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst)) ≫
                    (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom)) ≫
                  (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
slice_rhs 6 7 =>
  rw [tensor_id, tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id, ← tensor_id, ← tensor_id]
    -- Now insert associators as needed to make the four half-braidings look identical
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 U') ≫ ((𝟙 U ⊗ 𝟙 X.fst) ⊗ (HalfBraiding.β Y.snd U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
[PROOFSTEP]
rw [tensor_id, tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id, ← tensor_id, ← tensor_id]
    -- Now insert associators as needed to make the four half-braidings look identical
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 U') ≫ ((𝟙 U ⊗ 𝟙 X.fst) ⊗ (HalfBraiding.β Y.snd U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
[PROOFSTEP]
rw [tensor_id, tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id, ← tensor_id, ← tensor_id]
    -- Now insert associators as needed to make the four half-braidings look identical
[GOAL]
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 U') ≫ ((𝟙 U ⊗ 𝟙 X.fst) ⊗ (HalfBraiding.β Y.snd U').hom)
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
[PROOFSTEP]
rw [tensor_id, tensor_id, tensor_id_comp_id_tensor, ← id_tensor_comp_tensor_id, ← tensor_id, ← tensor_id]
  -- Now insert associators as needed to make the four half-braidings look identical
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U') ≫
          ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U') ≫
            (α_ (X.fst ⊗ U) Y.fst U').hom ≫
              (((((((𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom) ≫
                          ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U' ⊗ 𝟙 Y.fst)) ≫
                        (α_ U X.fst (U' ⊗ Y.fst)).hom) ≫
                      (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv)) ≫
                    (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst)) ≫
                  (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom)) ≫
                (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
slice_rhs 10 10 => rw [associator_inv_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 U' ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
[PROOFSTEP]
rw [associator_inv_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 U' ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
[PROOFSTEP]
rw [associator_inv_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (HalfBraiding.β X.snd U').hom ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 U' ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
[PROOFSTEP]
rw [associator_inv_conjugation]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U') ≫
          ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U') ≫
            (α_ (X.fst ⊗ U) Y.fst U').hom ≫
              ((𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom) ≫
                ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U' ⊗ 𝟙 Y.fst) ≫
                  (α_ U X.fst (U' ⊗ Y.fst)).hom ≫
                    (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv) ≫
                      (((α_ U (X.fst ⊗ U') Y.fst).inv ≫
                            ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫ (α_ U (U' ⊗ X.fst) Y.fst).hom) ≫
                          (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom)) ≫
                        (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
slice_rhs 7 7 => rw [associator_inv_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 U' ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
[PROOFSTEP]
rw [associator_inv_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 U' ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
[PROOFSTEP]
rw [associator_inv_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (HalfBraiding.β X.snd U).hom ⊗ 𝟙 U' ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
[PROOFSTEP]
rw [associator_inv_conjugation]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U') ≫
          ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U') ≫
            (α_ (X.fst ⊗ U) Y.fst U').hom ≫
              ((𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom) ≫
                ((((((((α_ (X.fst ⊗ U) U' Y.fst).inv ≫
                                (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ X.fst) U' Y.fst).hom) ≫
                              (α_ U X.fst (U' ⊗ Y.fst)).hom) ≫
                            (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv)) ≫
                          (α_ U (X.fst ⊗ U') Y.fst).inv) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst)) ≫
                      (α_ U (U' ⊗ X.fst) Y.fst).hom) ≫
                    (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom)) ≫
                  (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
slice_rhs 6 6 => rw [associator_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (U ⊗ X.fst) U' Y.fst).hom
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
[PROOFSTEP]
rw [associator_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (U ⊗ X.fst) U' Y.fst).hom
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
[PROOFSTEP]
rw [associator_conjugation]
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ 𝟙 U) ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (U ⊗ X.fst) U' Y.fst).hom
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
[PROOFSTEP]
rw [associator_conjugation]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U') ≫
          ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U') ≫
            (α_ (X.fst ⊗ U) Y.fst U').hom ≫
              (((((((((((α_ X.fst U (Y.fst ⊗ U')).hom ≫
                                    (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫ (α_ X.fst U (U' ⊗ Y.fst)).inv) ≫
                                  (α_ (X.fst ⊗ U) U' Y.fst).inv) ≫
                                (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst)) ≫
                              (α_ (U ⊗ X.fst) U' Y.fst).hom) ≫
                            (α_ U X.fst (U' ⊗ Y.fst)).hom) ≫
                          (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv)) ≫
                        (α_ U (X.fst ⊗ U') Y.fst).inv) ≫
                      ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst)) ≫
                    (α_ U (U' ⊗ X.fst) Y.fst).hom) ≫
                  (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom)) ≫
                (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
slice_rhs 3 3 =>
  rw [associator_conjugation]
    -- Finish with an application of the coherence theorem.
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U (Y.fst ⊗ U')).hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U (U' ⊗ Y.fst)).inv
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (U ⊗ X.fst) U' Y.fst).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
[PROOFSTEP]
rw [associator_conjugation]
    -- Finish with an application of the coherence theorem.
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U (Y.fst ⊗ U')).hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U (U' ⊗ Y.fst)).inv
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (U ⊗ X.fst) U' Y.fst).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
[PROOFSTEP]
rw [associator_conjugation]
    -- Finish with an application of the coherence theorem.
[GOAL]
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ⊗ 𝟙 U'
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U Y.fst).inv ⊗ 𝟙 U'
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) Y.fst U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U (Y.fst ⊗ U')).hom
case a.a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom
case a.a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst U (U' ⊗ Y.fst)).inv
case a.a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ U) U' Y.fst).inv
case a.a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst
case a.a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (U ⊗ X.fst) U' Y.fst).hom
case a.a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U X.fst (U' ⊗ Y.fst)).hom
case a.a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ X.fst U' Y.fst).inv
case a.a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (X.fst ⊗ U') Y.fst).inv
case a.a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst
case a.a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U (U' ⊗ X.fst) Y.fst).hom
case a.a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| 𝟙 U ⊗ (α_ U' X.fst Y.fst).hom
case a.a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ U U' (X.fst ⊗ Y.fst)).inv
case a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ (X.fst ⊗ Y.fst) U U').inv
case a.a
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
| (α_ X.fst Y.fst U).hom ⊗ 𝟙 U'
[PROOFSTEP]
rw [associator_conjugation]
  -- Finish with an application of the coherence theorem.
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U U' : C
⊢ (α_ X.fst Y.fst (U ⊗ U')).hom ≫
      (𝟙 X.fst ⊗ (α_ Y.fst U U').inv) ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
          (𝟙 X.fst ⊗ (α_ U Y.fst U').hom) ≫
            (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom) ≫
              (𝟙 X.fst ⊗ (α_ U U' Y.fst).inv) ≫
                (α_ X.fst (U ⊗ U') Y.fst).inv ≫
                  ((α_ X.fst U U').inv ⊗ 𝟙 Y.fst) ≫
                    (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst) ≫
                      ((α_ U X.fst U').hom ⊗ 𝟙 Y.fst) ≫
                        ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst) ≫
                          ((α_ U U' X.fst).inv ⊗ 𝟙 Y.fst) ≫ (α_ (U ⊗ U') X.fst Y.fst).hom =
    (α_ (X.fst ⊗ Y.fst) U U').inv ≫
      ((α_ X.fst Y.fst U).hom ⊗ 𝟙 U') ≫
        ((((((((((((((((α_ X.fst (Y.fst ⊗ U) U').hom ≫
                                        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 U') ≫
                                          (α_ X.fst (U ⊗ Y.fst) U').inv) ≫
                                      ((α_ X.fst U Y.fst).inv ⊗ 𝟙 U')) ≫
                                    (α_ (X.fst ⊗ U) Y.fst U').hom) ≫
                                  (α_ X.fst U (Y.fst ⊗ U')).hom) ≫
                                (𝟙 X.fst ⊗ 𝟙 U ⊗ (HalfBraiding.β Y.snd U').hom)) ≫
                              (α_ X.fst U (U' ⊗ Y.fst)).inv) ≫
                            (α_ (X.fst ⊗ U) U' Y.fst).inv) ≫
                          (((HalfBraiding.β X.snd U).hom ⊗ 𝟙 U') ⊗ 𝟙 Y.fst)) ≫
                        (α_ (U ⊗ X.fst) U' Y.fst).hom) ≫
                      (α_ U X.fst (U' ⊗ Y.fst)).hom) ≫
                    (𝟙 U ⊗ (α_ X.fst U' Y.fst).inv)) ≫
                  (α_ U (X.fst ⊗ U') Y.fst).inv) ≫
                ((𝟙 U ⊗ (HalfBraiding.β X.snd U').hom) ⊗ 𝟙 Y.fst)) ≫
              (α_ U (U' ⊗ X.fst) Y.fst).hom) ≫
            (𝟙 U ⊗ (α_ U' X.fst Y.fst).hom)) ≫
          (α_ U U' (X.fst ⊗ Y.fst)).inv
[PROOFSTEP]
coherence
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U✝ U'✝ : C
f : U✝ ⟶ U'✝
⊢ (𝟙 (X.fst ⊗ Y.fst) ⊗ f) ≫
      ((fun U =>
            α_ X.fst Y.fst U ≪≫
              (Iso.refl X.fst ⊗ HalfBraiding.β Y.snd U) ≪≫
                (α_ X.fst U Y.fst).symm ≪≫ (HalfBraiding.β X.snd U ⊗ Iso.refl Y.fst) ≪≫ α_ U X.fst Y.fst)
          U'✝).hom =
    ((fun U =>
            α_ X.fst Y.fst U ≪≫
              (Iso.refl X.fst ⊗ HalfBraiding.β Y.snd U) ≪≫
                (α_ X.fst U Y.fst).symm ≪≫ (HalfBraiding.β X.snd U ⊗ Iso.refl Y.fst) ≪≫ α_ U X.fst Y.fst)
          U✝).hom ≫
      (f ⊗ 𝟙 (X.fst ⊗ Y.fst))
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U✝ U'✝ : C
f : U✝ ⟶ U'✝
⊢ (𝟙 (X.fst ⊗ Y.fst) ⊗ f) ≫
      (α_ X.fst Y.fst U'✝).hom ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U'✝).hom) ≫
          (α_ X.fst U'✝ Y.fst).inv ≫ ((HalfBraiding.β X.snd U'✝).hom ⊗ 𝟙 Y.fst) ≫ (α_ U'✝ X.fst Y.fst).hom =
    ((α_ X.fst Y.fst U✝).hom ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U✝).hom) ≫
          (α_ X.fst U✝ Y.fst).inv ≫ ((HalfBraiding.β X.snd U✝).hom ⊗ 𝟙 Y.fst) ≫ (α_ U✝ X.fst Y.fst).hom) ≫
      (f ⊗ 𝟙 (X.fst ⊗ Y.fst))
[PROOFSTEP]
rw [Category.assoc, Category.assoc, Category.assoc, Category.assoc, id_tensor_associator_naturality_assoc, ←
  id_tensor_comp_assoc, HalfBraiding.naturality, id_tensor_comp_assoc, associator_inv_naturality_assoc, ←
  comp_tensor_id_assoc, HalfBraiding.naturality, comp_tensor_id_assoc, associator_naturality, ← tensor_id]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X₁ Y₁ X₂ Y₂ : Center C
f : X₁ ⟶ Y₁
g : X₂ ⟶ Y₂
U : C
⊢ ((f.f ⊗ g.f) ⊗ 𝟙 U) ≫ (HalfBraiding.β (tensorObj Y₁ Y₂).snd U).hom =
    (HalfBraiding.β (tensorObj X₁ X₂).snd U).hom ≫ (𝟙 U ⊗ f.f ⊗ g.f)
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X₁ Y₁ X₂ Y₂ : Center C
f : X₁ ⟶ Y₁
g : X₂ ⟶ Y₂
U : C
⊢ ((f.f ⊗ g.f) ⊗ 𝟙 U) ≫
      (α_ Y₁.fst Y₂.fst U).hom ≫
        (𝟙 Y₁.fst ⊗ (HalfBraiding.β Y₂.snd U).hom) ≫
          (α_ Y₁.fst U Y₂.fst).inv ≫ ((HalfBraiding.β Y₁.snd U).hom ⊗ 𝟙 Y₂.fst) ≫ (α_ U Y₁.fst Y₂.fst).hom =
    ((α_ X₁.fst X₂.fst U).hom ≫
        (𝟙 X₁.fst ⊗ (HalfBraiding.β X₂.snd U).hom) ≫
          (α_ X₁.fst U X₂.fst).inv ≫ ((HalfBraiding.β X₁.snd U).hom ⊗ 𝟙 X₂.fst) ≫ (α_ U X₁.fst X₂.fst).hom) ≫
      (𝟙 U ⊗ f.f ⊗ g.f)
[PROOFSTEP]
rw [Category.assoc, Category.assoc, Category.assoc, Category.assoc, associator_naturality_assoc, ←
  tensor_id_comp_id_tensor, Category.assoc, ← id_tensor_comp_assoc, g.comm, id_tensor_comp_assoc,
  tensor_id_comp_id_tensor_assoc, ← id_tensor_comp_tensor_id, Category.assoc, associator_inv_naturality_assoc,
  id_tensor_associator_inv_naturality_assoc, tensor_id, id_tensor_comp_tensor_id_assoc, ← tensor_id_comp_id_tensor g.f,
  Category.assoc, ← comp_tensor_id_assoc, f.comm, comp_tensor_id_assoc, id_tensor_associator_naturality,
  associator_naturality_assoc, ← id_tensor_comp, tensor_id_comp_id_tensor]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
U U' : C
⊢ ((fun U => λ_ U ≪≫ (ρ_ U).symm) (U ⊗ U')).hom =
    (α_ (𝟙_ C) U U').inv ≫
      (((fun U => λ_ U ≪≫ (ρ_ U).symm) U).hom ⊗ 𝟙 U') ≫
        (α_ U (𝟙_ C) U').hom ≫ (𝟙 U ⊗ ((fun U => λ_ U ≪≫ (ρ_ U).symm) U').hom) ≫ (α_ U U' (𝟙_ C)).inv
[PROOFSTEP]
simp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
U✝ U'✝ : C
f : U✝ ⟶ U'✝
⊢ (𝟙 (𝟙_ C) ⊗ f) ≫ ((fun U => λ_ U ≪≫ (ρ_ U).symm) U'✝).hom = ((fun U => λ_ U ≪≫ (ρ_ U).symm) U✝).hom ≫ (f ⊗ 𝟙 (𝟙_ C))
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
U✝ U'✝ : C
f : U✝ ⟶ U'✝
⊢ (𝟙 (𝟙_ C) ⊗ f) ≫ (λ_ U'✝).hom ≫ (ρ_ U'✝).inv = ((λ_ U✝).hom ≫ (ρ_ U✝).inv) ≫ (f ⊗ 𝟙 (𝟙_ C))
[PROOFSTEP]
rw [leftUnitor_naturality_assoc, rightUnitor_inv_naturality, Category.assoc]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y Z : Center C
U : C
⊢ ((α_ X.fst Y.fst Z.fst).hom ⊗ 𝟙 U) ≫ (HalfBraiding.β (tensorObj X (tensorObj Y Z)).snd U).hom =
    (HalfBraiding.β (tensorObj (tensorObj X Y) Z).snd U).hom ≫ (𝟙 U ⊗ (α_ X.fst Y.fst Z.fst).hom)
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y Z : Center C
U : C
⊢ ((α_ X.fst Y.fst Z.fst).hom ⊗ 𝟙 U) ≫
      (α_ X.fst (Y.fst ⊗ Z.fst) U).hom ≫
        (𝟙 X.fst ⊗
            (α_ Y.fst Z.fst U).hom ≫
              (𝟙 Y.fst ⊗ (HalfBraiding.β Z.snd U).hom) ≫
                (α_ Y.fst U Z.fst).inv ≫ ((HalfBraiding.β Y.snd U).hom ⊗ 𝟙 Z.fst) ≫ (α_ U Y.fst Z.fst).hom) ≫
          (α_ X.fst U (Y.fst ⊗ Z.fst)).inv ≫
            ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 (Y.fst ⊗ Z.fst)) ≫ (α_ U X.fst (Y.fst ⊗ Z.fst)).hom =
    ((α_ (X.fst ⊗ Y.fst) Z.fst U).hom ≫
        (𝟙 (X.fst ⊗ Y.fst) ⊗ (HalfBraiding.β Z.snd U).hom) ≫
          (α_ (X.fst ⊗ Y.fst) U Z.fst).inv ≫
            ((α_ X.fst Y.fst U).hom ≫
                  (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ≫
                    (α_ X.fst U Y.fst).inv ≫ ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ≫ (α_ U X.fst Y.fst).hom ⊗
                𝟙 Z.fst) ≫
              (α_ U (X.fst ⊗ Y.fst) Z.fst).hom) ≫
      (𝟙 U ⊗ (α_ X.fst Y.fst Z.fst).hom)
[PROOFSTEP]
simp only [comp_tensor_id, id_tensor_comp, ← tensor_id, associator_conjugation]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y Z : Center C
U : C
⊢ ((α_ X.fst Y.fst Z.fst).hom ⊗ 𝟙 U) ≫
      (α_ X.fst (Y.fst ⊗ Z.fst) U).hom ≫
        ((𝟙 X.fst ⊗ (α_ Y.fst Z.fst U).hom) ≫
            (𝟙 X.fst ⊗ 𝟙 Y.fst ⊗ (HalfBraiding.β Z.snd U).hom) ≫
              (𝟙 X.fst ⊗ (α_ Y.fst U Z.fst).inv) ≫
                (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 Z.fst) ≫ (𝟙 X.fst ⊗ (α_ U Y.fst Z.fst).hom)) ≫
          (α_ X.fst U (Y.fst ⊗ Z.fst)).inv ≫
            ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 Z.fst) ≫ (α_ U X.fst (Y.fst ⊗ Z.fst)).hom =
    ((α_ (X.fst ⊗ Y.fst) Z.fst U).hom ≫
        ((α_ X.fst Y.fst (Z.fst ⊗ U)).hom ≫
            (𝟙 X.fst ⊗ 𝟙 Y.fst ⊗ (HalfBraiding.β Z.snd U).hom) ≫ (α_ X.fst Y.fst (U ⊗ Z.fst)).inv) ≫
          (α_ (X.fst ⊗ Y.fst) U Z.fst).inv ≫
            (((α_ X.fst Y.fst U).hom ⊗ 𝟙 Z.fst) ≫
                ((α_ X.fst (Y.fst ⊗ U) Z.fst).hom ≫
                    (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom ⊗ 𝟙 Z.fst) ≫ (α_ X.fst (U ⊗ Y.fst) Z.fst).inv) ≫
                  ((α_ X.fst U Y.fst).inv ⊗ 𝟙 Z.fst) ≫
                    ((α_ (X.fst ⊗ U) Y.fst Z.fst).hom ≫
                        ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst ⊗ 𝟙 Z.fst) ≫ (α_ (U ⊗ X.fst) Y.fst Z.fst).inv) ≫
                      ((α_ U X.fst Y.fst).hom ⊗ 𝟙 Z.fst)) ≫
              (α_ U (X.fst ⊗ Y.fst) Z.fst).hom) ≫
      (𝟙 U ⊗ (α_ X.fst Y.fst Z.fst).hom)
[PROOFSTEP]
coherence
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
U : C
⊢ ((λ_ X.fst).hom ⊗ 𝟙 U) ≫ (HalfBraiding.β X.snd U).hom =
    (HalfBraiding.β (tensorObj tensorUnit X).snd U).hom ≫ (𝟙 U ⊗ (λ_ X.fst).hom)
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
U : C
⊢ ((λ_ X.fst).hom ⊗ 𝟙 U) ≫ (HalfBraiding.β X.snd U).hom =
    ((α_ (𝟙_ C) X.fst U).hom ≫
        (𝟙 (𝟙_ C) ⊗ (HalfBraiding.β X.snd U).hom) ≫
          (α_ (𝟙_ C) U X.fst).inv ≫ ((λ_ U).hom ≫ (ρ_ U).inv ⊗ 𝟙 X.fst) ≫ (α_ U (𝟙_ C) X.fst).hom) ≫
      (𝟙 U ⊗ (λ_ X.fst).hom)
[PROOFSTEP]
simp only [Category.comp_id, Category.assoc, tensor_inv_hom_id, comp_tensor_id, tensor_id_comp_id_tensor,
  triangle_assoc_comp_right_inv]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
U : C
⊢ ((λ_ X.fst).hom ⊗ 𝟙 U) ≫ (HalfBraiding.β X.snd U).hom =
    (α_ (𝟙_ C) X.fst U).hom ≫
      (𝟙 (𝟙_ C) ⊗ (HalfBraiding.β X.snd U).hom) ≫ (α_ (𝟙_ C) U X.fst).inv ≫ ((λ_ U).hom ⊗ 𝟙 X.fst)
[PROOFSTEP]
rw [← leftUnitor_tensor, leftUnitor_naturality, leftUnitor_tensor'_assoc]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
U : C
⊢ ((ρ_ X.fst).hom ⊗ 𝟙 U) ≫ (HalfBraiding.β X.snd U).hom =
    (HalfBraiding.β (tensorObj X tensorUnit).snd U).hom ≫ (𝟙 U ⊗ (ρ_ X.fst).hom)
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
U : C
⊢ ((ρ_ X.fst).hom ⊗ 𝟙 U) ≫ (HalfBraiding.β X.snd U).hom =
    ((α_ X.fst (𝟙_ C) U).hom ≫
        (𝟙 X.fst ⊗ (λ_ U).hom ≫ (ρ_ U).inv) ≫
          (α_ X.fst U (𝟙_ C)).inv ≫ ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 (𝟙_ C)) ≫ (α_ U X.fst (𝟙_ C)).hom) ≫
      (𝟙 U ⊗ (ρ_ X.fst).hom)
[PROOFSTEP]
simp only [tensor_id_comp_id_tensor_assoc, triangle_assoc, id_tensor_comp, Category.assoc]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
U : C
⊢ ((ρ_ X.fst).hom ⊗ 𝟙 U) ≫ (HalfBraiding.β X.snd U).hom =
    ((ρ_ X.fst).hom ⊗ (ρ_ U).inv) ≫
      (α_ X.fst U (𝟙_ C)).inv ≫
        ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 (𝟙_ C)) ≫ (α_ U X.fst (𝟙_ C)).hom ≫ (𝟙 U ⊗ (ρ_ X.fst).hom)
[PROOFSTEP]
rw [← tensor_id_comp_id_tensor_assoc (ρ_ U).inv, cancel_epi, ← rightUnitor_tensor_inv_assoc, ←
  rightUnitor_inv_naturality_assoc]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
U : C
⊢ (HalfBraiding.β X.snd U).hom =
    (HalfBraiding.β X.snd U).hom ≫ (ρ_ (U ⊗ X.fst)).inv ≫ (α_ U X.fst (𝟙_ C)).hom ≫ (𝟙 U ⊗ (ρ_ X.fst).hom)
[PROOFSTEP]
simp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y Z : Center C
⊢ (α_ X Y Z).inv.f = (α_ X.fst Y.fst Z.fst).inv
[PROOFSTEP]
apply Iso.inv_ext'
[GOAL]
case hom_inv_id
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y Z : Center C
⊢ (α_ X.fst Y.fst Z.fst).hom ≫ (α_ X Y Z).inv.f = 𝟙 ((X ⊗ Y) ⊗ Z).fst
[PROOFSTEP]
rw [← associator_hom_f, ← comp_f, Iso.hom_inv_id]
[GOAL]
case hom_inv_id
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y Z : Center C
⊢ (𝟙 ((X ⊗ Y) ⊗ Z)).f = 𝟙 ((X ⊗ Y) ⊗ Z).fst
[PROOFSTEP]
rfl
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
⊢ (λ_ X).inv.f = (λ_ X.fst).inv
[PROOFSTEP]
apply Iso.inv_ext'
[GOAL]
case hom_inv_id
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
⊢ (λ_ X.fst).hom ≫ (λ_ X).inv.f = 𝟙 (tensorUnit' ⊗ X).fst
[PROOFSTEP]
rw [← leftUnitor_hom_f, ← comp_f, Iso.hom_inv_id]
[GOAL]
case hom_inv_id
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
⊢ (𝟙 (tensorUnit' ⊗ X)).f = 𝟙 (tensorUnit' ⊗ X).fst
[PROOFSTEP]
rfl
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
⊢ (ρ_ X).inv.f = (ρ_ X.fst).inv
[PROOFSTEP]
apply Iso.inv_ext'
[GOAL]
case hom_inv_id
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
⊢ (ρ_ X.fst).hom ≫ (ρ_ X).inv.f = 𝟙 (X ⊗ tensorUnit').fst
[PROOFSTEP]
rw [← rightUnitor_hom_f, ← comp_f, Iso.hom_inv_id]
[GOAL]
case hom_inv_id
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X : Center C
⊢ (𝟙 (X ⊗ tensorUnit')).f = 𝟙 (X ⊗ tensorUnit').fst
[PROOFSTEP]
rfl
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
A✝ B✝ : Center C
f : A✝ ⟶ B✝
i : IsIso ((forget C).toLaxMonoidalFunctor.toFunctor.map f)
⊢ IsIso f
[PROOFSTEP]
dsimp at i 
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
A✝ B✝ : Center C
f : A✝ ⟶ B✝
i : IsIso f.f
⊢ IsIso f
[PROOFSTEP]
change IsIso (isoMk f).hom
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
A✝ B✝ : Center C
f : A✝ ⟶ B✝
i : IsIso f.f
⊢ IsIso (isoMk f).hom
[PROOFSTEP]
infer_instance
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U : C
⊢ ((HalfBraiding.β X.snd Y.fst).hom ⊗ 𝟙 U) ≫ (HalfBraiding.β (Y ⊗ X).snd U).hom =
    (HalfBraiding.β (X ⊗ Y).snd U).hom ≫ (𝟙 U ⊗ (HalfBraiding.β X.snd Y.fst).hom)
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U : C
⊢ ((HalfBraiding.β X.snd Y.fst).hom ⊗ 𝟙 U) ≫
      (α_ Y.fst X.fst U).hom ≫
        (𝟙 Y.fst ⊗ (HalfBraiding.β X.snd U).hom) ≫
          (α_ Y.fst U X.fst).inv ≫ ((HalfBraiding.β Y.snd U).hom ⊗ 𝟙 X.fst) ≫ (α_ U Y.fst X.fst).hom =
    ((α_ X.fst Y.fst U).hom ≫
        (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ≫
          (α_ X.fst U Y.fst).inv ≫ ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ≫ (α_ U X.fst Y.fst).hom) ≫
      (𝟙 U ⊗ (HalfBraiding.β X.snd Y.fst).hom)
[PROOFSTEP]
simp only [Category.assoc]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U : C
⊢ ((HalfBraiding.β X.snd Y.fst).hom ⊗ 𝟙 U) ≫
      (α_ Y.fst X.fst U).hom ≫
        (𝟙 Y.fst ⊗ (HalfBraiding.β X.snd U).hom) ≫
          (α_ Y.fst U X.fst).inv ≫ ((HalfBraiding.β Y.snd U).hom ⊗ 𝟙 X.fst) ≫ (α_ U Y.fst X.fst).hom =
    (α_ X.fst Y.fst U).hom ≫
      (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ≫
        (α_ X.fst U Y.fst).inv ≫
          ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ≫ (α_ U X.fst Y.fst).hom ≫ (𝟙 U ⊗ (HalfBraiding.β X.snd Y.fst).hom)
[PROOFSTEP]
rw [← IsIso.inv_comp_eq, IsIso.Iso.inv_hom, ← HalfBraiding.monoidal_assoc, ← HalfBraiding.naturality_assoc,
  HalfBraiding.monoidal]
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X Y : Center C
U : C
⊢ (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ≫
      ((α_ X.fst U Y.fst).inv ≫
          ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ≫
            (α_ U X.fst Y.fst).hom ≫ (𝟙 U ⊗ (HalfBraiding.β X.snd Y.fst).hom) ≫ (α_ U Y.fst X.fst).inv) ≫
        (α_ U Y.fst X.fst).hom =
    (𝟙 X.fst ⊗ (HalfBraiding.β Y.snd U).hom) ≫
      (α_ X.fst U Y.fst).inv ≫
        ((HalfBraiding.β X.snd U).hom ⊗ 𝟙 Y.fst) ≫ (α_ U X.fst Y.fst).hom ≫ (𝟙 U ⊗ (HalfBraiding.β X.snd Y.fst).hom)
[PROOFSTEP]
simp
[GOAL]
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X✝ X'✝ Y✝ Y'✝ : Center C
f : X✝ ⟶ Y✝
g : X'✝ ⟶ Y'✝
⊢ (f ⊗ g) ≫ (braiding Y✝ Y'✝).hom = (braiding X✝ X'✝).hom ≫ (g ⊗ f)
[PROOFSTEP]
ext
[GOAL]
case w
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X✝ X'✝ Y✝ Y'✝ : Center C
f : X✝ ⟶ Y✝
g : X'✝ ⟶ Y'✝
⊢ ((f ⊗ g) ≫ (braiding Y✝ Y'✝).hom).f = ((braiding X✝ X'✝).hom ≫ (g ⊗ f)).f
[PROOFSTEP]
dsimp
[GOAL]
case w
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
inst✝ : MonoidalCategory C
X✝ X'✝ Y✝ Y'✝ : Center C
f : X✝ ⟶ Y✝
g : X'✝ ⟶ Y'✝
⊢ (f.f ⊗ g.f) ≫ (HalfBraiding.β Y✝.snd Y'✝.fst).hom = (HalfBraiding.β X✝.snd X'✝.fst).hom ≫ (g.f ⊗ f.f)
[PROOFSTEP]
rw [← tensor_id_comp_id_tensor, Category.assoc, HalfBraiding.naturality, f.comm_assoc, id_tensor_comp_tensor_id]
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X U U' : C
⊢ ((fun Y => β_ X Y) (U ⊗ U')).hom =
    (α_ X U U').inv ≫
      (((fun Y => β_ X Y) U).hom ⊗ 𝟙 U') ≫ (α_ U X U').hom ≫ (𝟙 U ⊗ ((fun Y => β_ X Y) U').hom) ≫ (α_ U U' X).inv
[PROOFSTEP]
rw [Iso.eq_inv_comp, ← Category.assoc, ← Category.assoc, Iso.eq_comp_inv, Category.assoc, Category.assoc]
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X U U' : C
⊢ (α_ X U U').hom ≫ ((fun Y => β_ X Y) (U ⊗ U')).hom ≫ (α_ U U' X).hom =
    (((fun Y => β_ X Y) U).hom ⊗ 𝟙 U') ≫ (α_ U X U').hom ≫ (𝟙 U ⊗ ((fun Y => β_ X Y) U').hom)
[PROOFSTEP]
exact hexagon_forward X U U'
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
U : C
⊢ (𝟙 (𝟙_ (Center C)).fst ⊗ 𝟙 U) ≫
      (HalfBraiding.β ((Functor.mk { obj := ofBraidedObj, map := fun {X Y} f => Hom.mk f }).obj (𝟙_ C)).snd U).hom =
    (HalfBraiding.β (𝟙_ (Center C)).snd U).hom ≫ (𝟙 U ⊗ 𝟙 (𝟙_ (Center C)).fst)
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
U : C
⊢ (𝟙 (𝟙_ (Center C)).fst ⊗ 𝟙 U) ≫ (β_ (𝟙_ C) U).hom = ((λ_ U).hom ≫ (ρ_ U).inv) ≫ (𝟙 U ⊗ 𝟙 (𝟙_ (Center C)).fst)
[PROOFSTEP]
rw [tensor_id, Category.id_comp, tensor_id, Category.comp_id, ← braiding_rightUnitor, Category.assoc, Iso.hom_inv_id,
  Category.comp_id]
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X Y U : C
⊢ (𝟙
          ((Functor.mk { obj := ofBraidedObj, map := fun {X Y} f => Hom.mk f }).obj X ⊗
              (Functor.mk { obj := ofBraidedObj, map := fun {X Y} f => Hom.mk f }).obj Y).fst ⊗
        𝟙 U) ≫
      (HalfBraiding.β ((Functor.mk { obj := ofBraidedObj, map := fun {X Y} f => Hom.mk f }).obj (X ⊗ Y)).snd U).hom =
    (HalfBraiding.β
          ((Functor.mk { obj := ofBraidedObj, map := fun {X Y} f => Hom.mk f }).obj X ⊗
              (Functor.mk { obj := ofBraidedObj, map := fun {X Y} f => Hom.mk f }).obj Y).snd
          U).hom ≫
      (𝟙 U ⊗
        𝟙
          ((Functor.mk { obj := ofBraidedObj, map := fun {X Y} f => Hom.mk f }).obj X ⊗
              (Functor.mk { obj := ofBraidedObj, map := fun {X Y} f => Hom.mk f }).obj Y).fst)
[PROOFSTEP]
dsimp
[GOAL]
C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X Y U : C
⊢ (𝟙 (X ⊗ Y) ⊗ 𝟙 U) ≫ (β_ (X ⊗ Y) U).hom =
    ((α_ X Y U).hom ≫ (𝟙 X ⊗ (β_ Y U).hom) ≫ (α_ X U Y).inv ≫ ((β_ X U).hom ⊗ 𝟙 Y) ≫ (α_ U X Y).hom) ≫ (𝟙 U ⊗ 𝟙 (X ⊗ Y))
[PROOFSTEP]
rw [tensor_id, tensor_id, Category.id_comp, Category.comp_id, ← Iso.inv_comp_eq, ← Category.assoc, ← Category.assoc, ←
  Iso.comp_inv_eq, Category.assoc, hexagon_reverse, Category.assoc]
