instance sigma_ι_isOpenImmersion [HasStrictTerminalObjects C] :
    SheafedSpace.IsOpenImmersion (colimit.ι F i) where
  base_open := sigma_ι_openEmbedding F i
  c_iso U := by
    have e : colimit.ι F i = _ :=
      (ι_preservesColimitsIso_inv SheafedSpace.forgetToPresheafedSpace F i).symm
    have H :
      OpenEmbedding
        (colimit.ι (F ⋙ SheafedSpace.forgetToPresheafedSpace) i ≫
            (preservesColimitIso SheafedSpace.forgetToPresheafedSpace F).inv).base :=
      e ▸ sigma_ι_openEmbedding F i
    suffices IsIso <| (colimit.ι (F ⋙ SheafedSpace.forgetToPresheafedSpace) i ≫
        (preservesColimitIso SheafedSpace.forgetToPresheafedSpace F).inv).c.app <|
      op (H.isOpenMap.functor.obj U) by
      -- Porting note : just `convert` is very slow, so helps it a bit
      convert this using 2 <;> 

Proof state:
case h.e'_5.e'_7.h.h.h
C : Type u_1
inst✝³ : Category.{v, u_1} C
inst✝² : HasLimits C
ι : Type v
F : Discrete ι ⥤ SheafedSpace C
inst✝¹ : HasColimit F
i : Discrete ι
inst✝ : HasStrictTerminalObjects C
U : Opens ↑↑(F.obj i).toPresheafedSpace
e : colimit.ι F i = colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫ (preservesColimitIso forgetToPresheafedSpace F).inv
H :
  OpenEmbedding ⇑(colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫ (preservesColimitIso forgetToPresheafedSpace F).inv).base
this :
  IsIso
    ((colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫ (preservesColimitIso forgetToPresheafedSpace F).inv).c.app
      (op
        ((IsOpenMap.functor
              (_ :
                IsOpenMap
                  ⇑(colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫
                        (preservesColimitIso forgetToPresheafedSpace F).inv).base)).obj
          U)))
e_3✝ :
  (colimit F).toPresheafedSpace.presheaf.obj (op ((IsOpenMap.functor (_ : IsOpenMap ⇑(colimit.ι F i).base)).obj U)) =
    (forgetToPresheafedSpace.obj (colimit F)).presheaf.obj
      (op
        ((IsOpenMap.functor
              (_ :
                IsOpenMap
                  ⇑(colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫
                        (preservesColimitIso forgetToPresheafedSpace F).inv).base)).obj
          U))
e_4✝ :
  ((colimit.ι F i).base _* (F.obj i).presheaf).obj
      (op ((IsOpenMap.functor (_ : IsOpenMap ⇑(colimit.ι F i).base)).obj U)) =
    ((colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫ (preservesColimitIso forgetToPresheafedSpace F).inv).base _*
          ((F ⋙ forgetToPresheafedSpace).obj i).presheaf).obj
      (op
        ((IsOpenMap.functor
              (_ :
                IsOpenMap
                  ⇑(colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫
                        (preservesColimitIso forgetToPresheafedSpace F).inv).base)).obj
          U))
e_1✝ : (Opens ↑↑(colimit F).toPresheafedSpace)ᵒᵖ = (Opens ↑↑(forgetToPresheafedSpace.obj (colimit F)))ᵒᵖ
he✝² : Category.opposite = Category.opposite
he✝¹ : (colimit F).toPresheafedSpace.presheaf = (forgetToPresheafedSpace.obj (colimit F)).presheaf
he✝ :
  (colimit.ι F i).base _* (F.obj i).presheaf =
    (colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫ (preservesColimitIso forgetToPresheafedSpace F).inv).base _*
      ((F ⋙ forgetToPresheafedSpace).obj i).presheaf
⊢ HEq (colimit.ι F i).c
    (colimit.ι (F ⋙ forgetToPresheafedSpace) i ≫ (preservesColimitIso forgetToPresheafedSpace F).inv).c

Next tactic:
congr