-- Lean 4 proof step from Mathlib.Algebra.Category.ModuleCat.Presheaf.ColimitFunctor (goal)
Goal:
C : Type u
inst : Category.{v, u} C
inst_1 : LocallySmall.{w, v, u} C
inst_2 : IsCofiltered.{v, u} C
inst_3 : InitiallySmall.{w, v, u} C
R : CategoryTheory.Functor.{v, w, u, w + 1} Cᵒᵖ RingCat
cR : Cocone R
hcR : IsColimit cR
M : PresheafOfModules R
cM : Cocone M.presheaf
hcM : IsColimit cM
M' : PresheafOfModules R
cM' : Cocone M'.presheaf
hcM' : IsColimit cM'
r : (↑cR.pt : Type w)
m₁ : ModuleColimit hcR hcM
m₂ : ModuleColimit hcR hcM'
⊢ ∃ (U : Cᵒᵖ) (a : (↑(R.obj U) : Type w)) (x₁ : (↑(M.obj U) : Type w)) (x₂ : (↑(M'.obj U) : Type w)),
    (ιR cR : (a : (↑(R.obj U) : Type w)) → (↑cR.pt : Type w)) a = r ∧
      (ιM : (a : (↑(M.obj U) : Type w)) → ModuleColimit hcR hcM) x₁ = m₁ ∧
        (ιM : (a : (↑(M'.obj U) : Type w)) → ModuleColimit hcR hcM') x₂ = m₂
have obtain : ∀ (U : Cᵒᵖ)
  (a :
    (R ⋙ forget RingCat (FC := fun (R S : RingCat.{w}) ↦ (↑R : Type w) →+* (↑S : Type w)) (CC := RingCat.carrier)).obj
      U)
  (x₁ :
    (M.presheaf ⋙
          forget AddCommGrpCat (FC := fun (x1 x2 : AddCommGrpCat.{w}) ↦ (↑x1 : Type w) →+ (↑x2 : Type w)) (CC :=
            AddCommGrpCat.carrier)).obj
      U)
  (x₂ :
    (M'.presheaf ⋙
          forget AddCommGrpCat (FC := fun (x1 x2 : AddCommGrpCat.{w}) ↦ (↑x1 : Type w) →+ (↑x2 : Type w)) (CC :=
            AddCommGrpCat.carrier)).obj
      U)
  (h :
    (ConcreteCategory.hom (FC := TypeCat.Fun)
            (NatTrans.app
              (Cocone.ι
                (Cocone.tensor
                  (Functor.mapCocone
                    (forget RingCat (FC := fun (R S : RingCat.{w}) ↦ (↑R : Type w) →+* (↑S : Type w)) (CC :=
                      RingCat.carrier))
                    cR)
                  (Cocone.tensor
                    (Functor.mapCocone
                      (forget AddCommGrpCat (FC := fun (x1 x2 : AddCommGrpCat.{w}) ↦ (↑x1 : Type w) →+ (↑x2 : Type w))
                        (CC := AddCommGrpCat.carrier))
                      cM)
                    (Functor.mapCocone
                      (forget AddCommGrpCat (FC := fun (x1 x2 : AddCommGrpCat.{w}) ↦ (↑x1 : Type w) →+ (↑x2 : Type w))
                        (CC := AddCommGrpCat.carrier))
                      cM'))))
              U) :
          (a :
              (fun (X : Type w) ↦ X)
                ((R ⋙ forget RingCat ⊗ M.presheaf ⋙ forget AddCommGrpCat ⊗ M'.presheaf ⋙ forget AddCommGrpCat).obj U)) →
            (fun (X : Type w) ↦ X)
              (((Functor.const Cᵒᵖ).obj
                    (((forget RingCat).mapCocone cR).tensor
                        (((forget AddCommGrpCat).mapCocone cM).tensor ((forget AddCommGrpCat).mapCocone cM'))).pt).obj
                U))
        (a, x₁, x₂) =
      (r, m₁, m₂)),
  ∃ (U : Cᵒᵖ) (a : (↑(R.obj U) : Type w)) (x₁ : (↑(M.obj U) : Type w)) (x₂ : (↑(M'.obj U) : Type w)),
    (ιR cR : (a : (↑(R.obj U) : Type w)) → (↑cR.pt : Type w)) a = r ∧
      (ιM : (a : (↑(M.obj U) : Type w)) → ModuleColimit hcR hcM) x₁ = m₁ ∧
        (ιM : (a : (↑(M'.obj U) : Type w)) → ModuleColimit hcR hcM') x₂ = m₂
Tactic: obtain ⟨U, ⟨a, x₁, x₂⟩, h⟩ := Types.jointly_surjective_of_isColimit
    ((isColimitOfPreserves (forget RingCat) hcR).tensor
      ((isColimitOfPreserves (forget AddCommGrpCat) hcM).tensor
        (isColimitOfPreserves (forget AddCommGrpCat) hcM'))) ⟨r, m₁, m₂⟩