-- Lean 4 proof step from Mathlib.CategoryTheory.Monoidal.Center (goal)
Goal:
C : Type u₁
inst : Category.{v₁, u₁} C
inst_1 : MonoidalCategory.{v₁, u₁} C
X Y : Center.{v₁, u₁} C
U U' : C
⊢ Iso.hom
        (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
          (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')) ≫
      X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ◁
          Iso.hom
            (Y.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β
              (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')) ≫
        Iso.inv
            (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
              (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')
              (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))) ≫
          Iso.hom
                (X.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β
                  (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')) ▷
              Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ≫
            Iso.hom
              (α_ (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')
                (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))) =
    Iso.inv
        (α_
          (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
            (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))
          U U') ≫
      (Iso.hom
              (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U) ≫
            X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ◁
                (Y.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U).hom ≫
              Iso.inv
                  (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U
                    (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))) ≫
                (X.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U).hom ▷
                    Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ≫
                  Iso.hom
                    (α_ U (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                      (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))) ▷
          U' ≫
        Iso.hom
            (α_ U
              (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst)
                (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))
              U') ≫
          U ◁
              (Iso.hom
                  (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                    (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U') ≫
                X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ◁
                    (Y.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U').hom ≫
                  Iso.inv
                      (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U'
                        (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))) ≫
                    (X.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U').hom ▷
                        Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ≫
                      Iso.hom
                        (α_ U' (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                          (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))) ≫
            Iso.inv
              (α_ U U'
                (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst)
                  (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                  (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))))
have simp : Eq (α :=
  MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst)
      (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
        (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))
      (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U') ⟶
    MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')
      (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
        (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))))
  (Iso.hom
      (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
        (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')) ≫
    X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ◁
        (Iso.inv (α_ (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U U') ≫
          (Y.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U).hom ▷ U' ≫
            Iso.hom (α_ U (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U') ≫
              U ◁ (Y.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U').hom ≫
                Iso.inv (α_ U U' (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))) ≫
      Iso.inv
          (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
            (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')
            (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))) ≫
        (Iso.inv (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U U') ≫
              (X.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U).hom ▷ U' ≫
                Iso.hom (α_ U (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U') ≫
                  U ◁ (X.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U').hom ≫
                    Iso.inv (α_ U U' (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))) ▷
            Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ≫
          Iso.hom
            (α_ (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) U U')
              (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
              (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))))
  (Iso.inv
      (α_
        (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
          (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))
        U U') ≫
    (Iso.hom
            (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
              (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U) ≫
          X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ◁
              (Y.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U).hom ≫
            Iso.inv
                (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U
                  (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))) ≫
              (X.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U).hom ▷
                  Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ≫
                Iso.hom
                  (α_ U (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                    (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))) ▷
        U' ≫
      Iso.hom
          (α_ U
            (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst) (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
              (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))
            U') ≫
        U ◁
            (Iso.hom
                (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                  (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U') ≫
              X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ◁
                  (Y.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U').hom ≫
                Iso.inv
                    (α_ (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)) U'
                      (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))) ≫
                  (X.snd (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X).β U').hom ▷
                      Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X) ≫
                    Iso.hom
                      (α_ U' (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                        (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))) ≫
          Iso.inv
            (α_ U U'
              (MonoidalCategoryStruct.tensorObj.{v₁, u₁} (𝒞 := inst)
                (X.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X))
                (Y.fst (β := fun (X : C) ↦ HalfBraiding.{v₁, u₁} X)))))
Tactic: simp only [HalfBraiding.monoidal]