-- Lean 4 proof step from Mathlib.Algebra.Category.CoalgCat.Monoidal (goal)
Goal:
R : Type u
inst : CommRing R
X : CoalgCat R
⊢ Eq (α :=
    (↑X.toModuleCat : Type u) →ₗ[R]
      (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
        (↑(Functor.obj
              (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
              X) :
          Type u))
    (LinearMap.compr₂ₛₗ (R₄ := R) (M := (↑X.toModuleCat : Type u)) (N :=
        (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (P :=
        (↑X.toModuleCat : Type u) ⊗[R] (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (Q :=
        (↑(Functor.obj
              (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
              X) :
          Type u))
        (σ₁₄ := RingHom.id R) (σ₂₄ := RingHom.id R) (σ₃₄ := RingHom.id R)
        (TensorProduct.mk R (↑X.toModuleCat : Type u) (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u))
        (ModuleCat.Hom.hom
          (CategoryTheory.Functor.map
            (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
              (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
              (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
              (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
            (Iso.hom (ρ_ X)))) :
      (↑X.toModuleCat : Type u) →ₗ[R]
        (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
          (↑(Functor.obj
                (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                  (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                  (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                  (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                X) :
            Type u))
    (LinearMap.compr₂ₛₗ (R₄ := R) (M := (↑X.toModuleCat : Type u)) (N :=
        (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (P :=
        (↑X.toModuleCat : Type u) ⊗[R] (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (Q :=
        (↑(Functor.obj
              (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
              X) :
          Type u))
        (σ₁₄ := RingHom.id R) (σ₂₄ := RingHom.id R) (σ₃₄ := RingHom.id R)
        (TensorProduct.mk R (↑X.toModuleCat : Type u) (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u))
        (ModuleCat.Hom.hom
          ((Iso.symm
                  (Iso.refl
                    (MonoidalCategoryStruct.tensorObj (𝒞 := ModuleCat.moduleCategory R)
                      (Functor.obj
                        (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                          (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                          (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                          (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                        X)
                      (Functor.obj
                        (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                          (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                          (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                          (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                        ((𝟙_ (CoalgCat R)) (𝒞 := category))))) ≪≫
                (Iso.refl
                    (Functor.obj
                      (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                        (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                        (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                        (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                      X) ⊗ᵢ
                  Iso.symm (Iso.refl ((𝟙_ (ModuleCat R)) (𝒞 := ModuleCat.moduleCategory R))))) ≪≫
              ρ_
                (Functor.obj
                  (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                    (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                    (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                    (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                  X)).hom) :
      (↑X.toModuleCat : Type u) →ₗ[R]
        (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
          (↑(Functor.obj
                (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                  (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                  (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                  (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                X) :
            Type u))
have h : ∀ (x : (↑X.toModuleCat : Type u)),
  Eq (α :=
    (↑(Functor.obj
          (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
            (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
            (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
            (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
          X) :
      Type u))
    (((((LinearMap.compr₂ₛₗ (R₄ := R) (M := (↑X.toModuleCat : Type u)) (N :=
                    (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (P :=
                    (↑X.toModuleCat : Type u) ⊗[R] (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (Q :=
                    (↑(Functor.obj
                          (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                            (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                            (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                            (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                          X) :
                      Type u))
                    (σ₁₄ := RingHom.id R) (σ₂₄ := RingHom.id R) (σ₃₄ := RingHom.id R)
                    (TensorProduct.mk R (↑X.toModuleCat : Type u)
                      (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u))
                    (ModuleCat.Hom.hom
                      (CategoryTheory.Functor.map
                        (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                          (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                          (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                          (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                        (Iso.hom (ρ_ X)))) :
                  (↑X.toModuleCat : Type u) →ₗ[R]
                    (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
                      (↑(Functor.obj
                            (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                              (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC :=
                              fun (X : CoalgCat R) ↦ (↑X.toModuleCat : Type u)) (ModuleCat R) (FD :=
                              fun (x1 x2 : ModuleCat R) ↦ (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD :=
                              ModuleCat.carrier))
                            X) :
                        Type u)) :
                (a : (↑X.toModuleCat : Type u)) →
                  (↑(𝟙_ (CoalgCat R)).toModuleCat : Type u) →ₗ[R]
                    (↑((forget₂ (CoalgCat R) (ModuleCat R)).obj X) : Type u))
              x :
            (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
              (↑(Functor.obj
                    (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                      (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                      (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                      (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                    X) :
                Type u)) :
          (a : R) → (↑((forget₂ (CoalgCat R) (ModuleCat R)).obj X) : Type u))
        1 :
      (↑(Functor.obj
            (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
              (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
              (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
              (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
            X) :
        Type u))
    (((((LinearMap.compr₂ₛₗ (R₄ := R) (M := (↑X.toModuleCat : Type u)) (N :=
                    (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (P :=
                    (↑X.toModuleCat : Type u) ⊗[R] (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (Q :=
                    (↑(Functor.obj
                          (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                            (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                            (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                            (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                          X) :
                      Type u))
                    (σ₁₄ := RingHom.id R) (σ₂₄ := RingHom.id R) (σ₃₄ := RingHom.id R)
                    (TensorProduct.mk R (↑X.toModuleCat : Type u)
                      (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u))
                    (ModuleCat.Hom.hom
                      ((Iso.symm
                              (Iso.refl
                                (MonoidalCategoryStruct.tensorObj (𝒞 := ModuleCat.moduleCategory R)
                                  (Functor.obj
                                    (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                                      (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC :=
                                      fun (X : CoalgCat R) ↦ (↑X.toModuleCat : Type u)) (ModuleCat R) (FD :=
                                      fun (x1 x2 : ModuleCat R) ↦ (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD :=
                                      ModuleCat.carrier))
                                    X)
                                  (Functor.obj
                                    (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                                      (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC :=
                                      fun (X : CoalgCat R) ↦ (↑X.toModuleCat : Type u)) (ModuleCat R) (FD :=
                                      fun (x1 x2 : ModuleCat R) ↦ (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD :=
                                      ModuleCat.carrier))
                                    ((𝟙_ (CoalgCat R)) (𝒞 := category))))) ≪≫
                            (Iso.refl
                                (Functor.obj
                                  (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                                    (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC :=
                                    fun (X : CoalgCat R) ↦ (↑X.toModuleCat : Type u)) (ModuleCat R) (FD :=
                                    fun (x1 x2 : ModuleCat R) ↦ (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD :=
                                    ModuleCat.carrier))
                                  X) ⊗ᵢ
                              Iso.symm (Iso.refl ((𝟙_ (ModuleCat R)) (𝒞 := ModuleCat.moduleCategory R))))) ≪≫
                          ρ_
                            (Functor.obj
                              (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                                (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC :=
                                fun (X : CoalgCat R) ↦ (↑X.toModuleCat : Type u)) (ModuleCat R) (FD :=
                                fun (x1 x2 : ModuleCat R) ↦ (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD :=
                                ModuleCat.carrier))
                              X)).hom) :
                  (↑X.toModuleCat : Type u) →ₗ[R]
                    (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
                      (↑(Functor.obj
                            (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                              (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC :=
                              fun (X : CoalgCat R) ↦ (↑X.toModuleCat : Type u)) (ModuleCat R) (FD :=
                              fun (x1 x2 : ModuleCat R) ↦ (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD :=
                              ModuleCat.carrier))
                            X) :
                        Type u)) :
                (a : (↑X.toModuleCat : Type u)) →
                  (↑(𝟙_ (CoalgCat R)).toModuleCat : Type u) →ₗ[R]
                    (↑((forget₂ (CoalgCat R) (ModuleCat R)).obj X) : Type u))
              x :
            (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
              (↑(Functor.obj
                    (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
                      (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
                      (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
                      (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
                    X) :
                Type u)) :
          (a : R) → (↑((forget₂ (CoalgCat R) (ModuleCat R)).obj X) : Type u))
        1 :
      (↑(Functor.obj
            (forget₂ (CoalgCat R) (FC := fun (x1 x2 : CoalgCat R) ↦
              (↑x1.toModuleCat : Type u) →ₗc[R] (↑x2.toModuleCat : Type u)) (CC := fun (X : CoalgCat R) ↦
              (↑X.toModuleCat : Type u)) (ModuleCat R) (FD := fun (x1 x2 : ModuleCat R) ↦
              (↑x1 : Type u) →ₗ[R] (↑x2 : Type u)) (CD := ModuleCat.carrier))
            X) :
        Type u))
Tactic: ext