-- Lean 4 proof step from Mathlib.CategoryTheory.Monoidal.Limits.Basic (goal)
Goal:
J : Type w
inst : SmallCategory J
C : Type u
inst_1 : Category.{v, u} C
inst_2 : HasLimitsOfShape.{w, w, v, u} J C
inst_3 : MonoidalCategory.{v, u} C
F : Functor.{w, v, w, u} J C
j : J
⊢ Eq (α := tensorObj.{v, u} (𝒞 := inst_1) (tensorUnit.{v, u} C (𝒞 := inst_1)) (Functor.obj lim F) ⟶ F.obj j)
    (Iso.hom (λ_ (Functor.obj lim F)) ≫ limit.π F j)
    (CategoryStruct.comp (Y := limit F)
      (CategoryStruct.comp (Y :=
        tensorObj.{v, u} (𝒞 := inst_1)
          (Functor.obj (C := Functor.{w, v, w, u} J C) lim ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category)))
          (Functor.obj lim F))
        (limit.lift (Functor.obj (Functor.const J) (tensorUnit.{v, u} C (𝒞 := inst_1)))
            { pt := tensorUnit.{v, u} C (𝒞 := inst_1),
              π :=
                {
                  app := fun (x : J) ↦
                    𝟙 (Functor.obj.{w, v, w, u} (Functor.obj (Functor.const J) (tensorUnit.{v, u} C (𝒞 := inst_1))) x),
                  naturality := ⋯ :
                  NatTrans.{w, v, w, u} (Functor.obj (Functor.const J) (tensorUnit.{v, u} C (𝒞 := inst_1)))
                    (Functor.obj (Functor.const J) (tensorUnit.{v, u} C (𝒞 := inst_1))) } } ⊗ₘ
          𝟙 (Functor.obj lim F))
        (CategoryStruct.comp (Y :=
          Functor.obj lim
            (tensorObj (𝒞 := Functor.category) ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category)) F))
          ((fun (F G : Functor.{w, v, w, u} J C) ↦
              (limit.lift (tensorObj (𝒞 := Functor.category) F G)
                  { pt := tensorObj.{v, u} (𝒞 := inst_1) (limit F) (limit G),
                    π := { app := fun (j : J) ↦ limit.π F j ⊗ₘ limit.π G j, naturality := ⋯ } } :
                Cone.pt.{w, v, w, u} (J := J) (F := tensorObj (𝒞 := Functor.category) F G)
                    { pt := tensorObj.{v, u} (𝒞 := inst_1) (limit F) (limit G),
                      π :=
                        { app := fun (j : J) ↦ limit.π F j ⊗ₘ limit.π G j, naturality := ⋯ :
                          NatTrans (Functor.obj (Functor.const J) (tensorObj.{v, u} (𝒞 := inst_1) (limit F) (limit G)))
                            (tensorObj (𝒞 := Functor.category) F G) } :
                      Cone (tensorObj (𝒞 := Functor.category) F G) } ⟶
                  limit (tensorObj (𝒞 := Functor.category) F G)))
            ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category)) F)
          (Functor.map lim (Iso.hom (λ_ F)))))
      (limit.π F j))
have dsimp : Eq (α := tensorObj.{v, u} (𝒞 := inst_1) (tensorUnit.{v, u} C (𝒞 := inst_1)) (limit F) ⟶ F.obj j)
  (Iso.hom (λ_ (limit F)) ≫ limit.π F j)
  (CategoryStruct.comp (Y := limit F)
    (CategoryStruct.comp (Y :=
      tensorObj.{v, u} (𝒞 := inst_1)
        (limit.{w, w, v, u} (J := J) ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category))) (limit F))
      (limit.lift (Functor.obj (Functor.const J) (tensorUnit.{v, u} C (𝒞 := inst_1)))
            { pt := tensorUnit.{v, u} C (𝒞 := inst_1),
              π :=
                { app := fun (x : J) ↦ 𝟙 (tensorUnit.{v, u} C (𝒞 := inst_1)), naturality := sorry :
                  NatTrans.{w, v, w, u} (Functor.obj (Functor.const J) (tensorUnit.{v, u} C (𝒞 := inst_1)))
                    (Functor.obj (Functor.const J) (tensorUnit.{v, u} C (𝒞 := inst_1))) } } ⊗ₘ
          𝟙 (limit F) :
        tensorObj.{v, u} (𝒞 := inst_1) (tensorUnit.{v, u} C (𝒞 := inst_1)) (limit F) ⟶
          tensorObj.{v, u} (𝒞 := inst_1)
            (limit.{w, w, v, u} (J := J) ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category))) (limit F))
      (CategoryStruct.comp (Y :=
          limit (tensorObj (𝒞 := Functor.category) ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category)) F))
          (limit.lift (tensorObj (𝒞 := Functor.category) ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category)) F)
            {
              pt :=
                tensorObj.{v, u} (𝒞 := inst_1)
                  (limit.{w, w, v, u} (J := J) ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category))) (limit F),
              π :=
                {
                  app := fun (j : J) ↦
                    limit.π ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category)) j ⊗ₘ limit.π F j,
                  naturality := sorry } })
          (limMap (Iso.hom (λ_ F))) :
        tensorObj.{v, u} (𝒞 := inst_1)
            (limit.{w, w, v, u} (J := J) ((𝟙_ (Functor.{w, v, w, u} J C)) (𝒞 := Functor.category))) (limit F) ⟶
          limit F))
    (limit.π F j))
Tactic: dsimp