-- Lean 4 proof step from Mathlib.Geometry.RingedSpace.PresheafedSpace.HasColimits (goal)
Goal:
J : Type u'
inst : Category.{v', u'} J
C : Type u
inst_1 : Category.{v, u} C
inst_2 : HasColimitsOfShape.{v', u', v, v + 1} J TopCat
inst_3 : ∀ (X : TopCat.{v}), HasLimitsOfShape Jᵒᵖ (Presheaf C X)
inst_4 : HasLimitsOfShape.{v', u', v, u} Jᵒᵖ C
F : J ⥤ PresheafedSpace.{v, u, v} C
s : Cocone F
U : (Opens (↑(↑s.pt : TopCat) : Type v))ᵒᵖ
j j' : Jᵒᵖ
f : j ⟶ j'
⊢ Eq (α :=
    s.pt.presheaf.obj U ⟶
      (F.obj (unop j')).presheaf.obj
        (op
          (obj (C := Opens (↑(Limits.colimit (F ⋙ forget C)) : Type v)) (Opens.map (colimit.ι (F ⋙ forget C) (unop j')))
            (obj (Opens.map (colimit.desc (F ⋙ forget C) (mapCocone (forget C) s))) (unop U)))))
    (𝟙 (s.pt.presheaf.obj U) ≫
      CategoryStruct.comp (Y :=
        (F.obj (unop j')).presheaf.obj (op (obj (Opens.map (Hom.base (s.ι.app (unop j')))) (unop U))))
        (NatTrans.app (Hom.c (s.ι.app (unop j'))) U) ((F.obj (unop j')).presheaf.map (eqToHom ⋯)))
    (CategoryStruct.comp (Y :=
        (F.obj (unop j)).presheaf.obj (op (obj (Opens.map (Hom.base (s.ι.app (unop j)))) (unop U))))
        (NatTrans.app (Hom.c (s.ι.app (unop j))) U) ((F.obj (unop j)).presheaf.map (eqToHom ⋯)) ≫
      (F.map f.unop).c.app
          (op
            (obj (C := Opens (↑(Limits.colimit (F ⋙ forget C)) : Type v))
              (Opens.map (colimit.ι (F ⋙ forget C) (unop j)))
              (obj (Opens.map (colimit.desc (F ⋙ forget C) (mapCocone (forget C) s))) (unop U)))) ≫
        𝟙
            ((F.obj (unop j')).presheaf.obj
              (op
                ((Opens.map (F.map f.unop).base).obj
                  (obj (C := Opens (↑(Limits.colimit (F ⋙ forget C)) : Type v))
                    (Opens.map (colimit.ι (F ⋙ forget C) (unop j)))
                    (obj (Opens.map (colimit.desc (F ⋙ forget C) (mapCocone (forget C) s))) (unop U)))))) ≫
          NatTrans.app (Iso.hom (pushforwardEq ⋯ (F.obj (unop j')).presheaf))
            (op (obj (Opens.map (colimit.desc (F ⋙ forget C) (mapCocone (forget C) s))) (unop U))))
have refine_2 : Eq (α :=
  s.pt.presheaf.obj U ⟶
    (F.obj (unop j')).presheaf.obj
      (op
        (obj (C := Opens (↑(Limits.colimit (F ⋙ forget C)) : Type v)) (Opens.map (colimit.ι (F ⋙ forget C) (unop j')))
          (obj (Opens.map (colimit.desc (F ⋙ forget C) (mapCocone (forget C) s))) (unop U)))))
  (𝟙 (s.pt.presheaf.obj U) ≫
    ((F.map f.unop ≫ s.ι.app (unop j)).c.app U ≫ (F.obj (unop j')).presheaf.map (eqToHom sorry)) ≫
      (F.obj (unop j')).presheaf.map (eqToHom sorry))
  (CategoryStruct.comp (Y :=
      (F.obj (unop j)).presheaf.obj (op (obj (Opens.map (Hom.base (s.ι.app (unop j)))) (unop U))))
      (NatTrans.app (Hom.c (s.ι.app (unop j))) U) ((F.obj (unop j)).presheaf.map (eqToHom sorry)) ≫
    (F.map f.unop).c.app
        (op
          (obj (C := Opens (↑(Limits.colimit (F ⋙ forget C)) : Type v)) (Opens.map (colimit.ι (F ⋙ forget C) (unop j)))
            (obj (Opens.map (colimit.desc (F ⋙ forget C) (mapCocone (forget C) s))) (unop U)))) ≫
      𝟙
          ((F.obj (unop j')).presheaf.obj
            (op
              ((Opens.map (F.map f.unop).base).obj
                (obj (C := Opens (↑(Limits.colimit (F ⋙ forget C)) : Type v))
                  (Opens.map (colimit.ι (F ⋙ forget C) (unop j)))
                  (obj (Opens.map (colimit.desc (F ⋙ forget C) (mapCocone (forget C) s))) (unop U)))))) ≫
        NatTrans.app (Iso.hom (pushforwardEq sorry (F.obj (unop j')).presheaf))
          (op (obj (Opens.map (colimit.desc (F ⋙ forget C) (mapCocone (forget C) s))) (unop U))))
Tactic: rw [PresheafedSpace.congr_app (s.w f.unop).symm U]