-- Lean 4 proof step from Mathlib.Algebra.Category.ModuleCat.Limits (goal)
Goal:
R : Type u
inst : Ring R
J : Type v
inst_1 : Category.{t, v} J
F : J ⥤ ModuleCat.{w, u} R
inst_2 :
  Small.{w, max v w}
    (↑(F ⋙
            forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦ (↑x1 : Type w) →ₗ[R] (↑x2 : Type w))
              (CC := carrier)).sections :
      Type (max v w))
⊢ IsLimit (limitCone F)
have refine_1 : ∀ (s : Cone F) (x y : (↑s.1 : Type w)),
  (ConcreteCategory.hom (FC := TypeCat.Fun)
          (IsLimit.lift
            (Types.Small.limitConeIsLimit
              (F ⋙
                forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦
                  (↑x1 : Type w) →ₗ[R] (↑x2 : Type w)) (CC := carrier)))
            (Functor.mapCone
              (forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦
                (↑x1 : Type w) →ₗ[R] (↑x2 : Type w)) (CC := carrier))
              s)) :
        (a : (fun (X : Type w) ↦ X) ((forget (ModuleCat R)).mapCone s).pt) →
          (fun (X : Type w) ↦ X) (Types.Small.limitCone (F ⋙ forget (ModuleCat R))).pt)
      (x + y) =
    HAdd.hAdd (α :=
      (Types.Small.limitCone
          (F ⋙
            forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦ (↑x1 : Type w) →ₗ[R] (↑x2 : Type w))
              (CC := carrier))).pt)
      (β :=
      (Types.Small.limitCone
          (F ⋙
            forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦ (↑x1 : Type w) →ₗ[R] (↑x2 : Type w))
              (CC := carrier))).pt)
      ((ConcreteCategory.hom (FC := TypeCat.Fun)
              (IsLimit.lift
                (Types.Small.limitConeIsLimit
                  (F ⋙
                    forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦
                      (↑x1 : Type w) →ₗ[R] (↑x2 : Type w)) (CC := carrier)))
                (Functor.mapCone
                  (forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦
                    (↑x1 : Type w) →ₗ[R] (↑x2 : Type w)) (CC := carrier))
                  s)) :
            (a : (fun (X : Type w) ↦ X) ((forget (ModuleCat R)).mapCone s).pt) →
              (fun (X : Type w) ↦ X) (Types.Small.limitCone (F ⋙ forget (ModuleCat R))).pt)
          x :
        (fun (X : Type w) ↦ X)
          (Types.Small.limitCone
              (F ⋙
                forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦
                  (↑x1 : Type w) →ₗ[R] (↑x2 : Type w)) (CC := carrier))).pt)
      ((ConcreteCategory.hom (FC := TypeCat.Fun)
              (IsLimit.lift
                (Types.Small.limitConeIsLimit
                  (F ⋙
                    forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦
                      (↑x1 : Type w) →ₗ[R] (↑x2 : Type w)) (CC := carrier)))
                (Functor.mapCone
                  (forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦
                    (↑x1 : Type w) →ₗ[R] (↑x2 : Type w)) (CC := carrier))
                  s)) :
            (a : (fun (X : Type w) ↦ X) ((forget (ModuleCat R)).mapCone s).pt) →
              (fun (X : Type w) ↦ X) (Types.Small.limitCone (F ⋙ forget (ModuleCat R))).pt)
          y :
        (fun (X : Type w) ↦ X)
          (Types.Small.limitCone
              (F ⋙
                forget (ModuleCat.{w, u} R) (FC := fun (x1 x2 : ModuleCat.{w, u} R) ↦
                  (↑x1 : Type w) →ₗ[R] (↑x2 : Type w)) (CC := carrier))).pt)
Tactic: refine IsLimit.ofFaithful (forget (ModuleCat R)) (Types.Small.limitConeIsLimit.{v, w} _)
    (fun s => ofHom ⟨⟨(Types.Small.limitConeIsLimit.{v, w} _).lift
                ((forget (ModuleCat R)).mapCone s), ?_⟩, ?_⟩)
    (fun s => rfl)