/-- Auxiliary definition for the `MonoidalCategory` instance on `Center C`. -/
@[simps]
def tensorObj (X Y : Center C) : Center C :=
  ⟨X.1 ⊗ Y.1,
    { β := fun U =>
        α_ _ _ _ ≪≫
          (Iso.refl X.1 ⊗ Y.2.β U) ≪≫ (α_ _ _ _).symm ≪≫ (X.2.β U ⊗ Iso.refl Y.1) ≪≫ α_ _ _ _
      monoidal := fun U U' => by
        dsimp
        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.
        slice_rhs 6 8 => rw [pentagon]
        slice_rhs 5 6 => rw [associator_naturality]
        slice_rhs 7 8 => rw [← associator_naturality]
        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
        slice_rhs 10 10 => rw [associator_inv_conjugation]
        slice_rhs 7 7 => rw [associator_inv_conjugation]
        slice_rhs 6 6 => 

Proof state:
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

Next tactic:
rw [associator_conjugation]