-- Lean 4 proof step from Mathlib.Algebra.Category.CoalgCat.Monoidal (goal)
Goal:
R : Type u
inst : CommRing R
X : CoalgCat R
⊢ Eq (α :=
    (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
      (↑X.toModuleCat : 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 := (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (N :=
        (↑X.toModuleCat : Type u)) (P :=
        (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) ⊗[R] (↑X.toModuleCat : 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 (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) (↑X.toModuleCat : 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)))) :
      (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
        (↑X.toModuleCat : 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 := (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (N :=
        (↑X.toModuleCat : Type u)) (P :=
        (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) ⊗[R] (↑X.toModuleCat : 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 (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) (↑X.toModuleCat : 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))
                        ((𝟙_ (CoalgCat R)) (𝒞 := category)))
                      (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))) ⊗ᵢ
                  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))) ≪≫
              λ_
                (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) :
      (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
        (↑X.toModuleCat : 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 := (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (N :=
                  (↑X.toModuleCat : Type u)) (P :=
                  (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) ⊗[R] (↑X.toModuleCat : 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 (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)
                    (↑X.toModuleCat : 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)))) :
                (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
                  (↑X.toModuleCat : 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) → (↑X.toModuleCat : Type u) →ₗ[R] (↑((forget₂ (CoalgCat R) (ModuleCat R)).obj X) : Type u))
            1 :
          (a : (↑X.toModuleCat : Type u)) → (↑((forget₂ (CoalgCat R) (ModuleCat R)).obj X) : Type u))
        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))
            X) :
        Type u))
    ((((LinearMap.compr₂ₛₗ (R₄ := R) (M := (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)) (N :=
                  (↑X.toModuleCat : Type u)) (P :=
                  (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) ⊗[R] (↑X.toModuleCat : 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 (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u)
                    (↑X.toModuleCat : 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))
                                  ((𝟙_ (CoalgCat R)) (𝒞 := category)))
                                (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))) ⊗ᵢ
                            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))) ≪≫
                        λ_
                          (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) :
                (↑(toModuleCat ((𝟙_ (CoalgCat R)) (𝒞 := category))) : Type u) →ₗ[R]
                  (↑X.toModuleCat : 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) → (↑X.toModuleCat : Type u) →ₗ[R] (↑((forget₂ (CoalgCat R) (ModuleCat R)).obj X) : Type u))
            1 :
          (a : (↑X.toModuleCat : Type u)) → (↑((forget₂ (CoalgCat R) (ModuleCat R)).obj X) : Type u))
        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))
            X) :
        Type u))
Tactic: ext