-- Lean 4 proof step from Mathlib.CategoryTheory.Presentable.Limits (goal)
Goal:
C : Type u
inst : Category.{v, u} C
K : Type u'
inst_1 : Category.{v', u'} K
F : K ⥤ Functor.{v, w', u, w' + 1} C (Type w')
c : Cone F
hc : (Y : C) → IsLimit (F := F ⋙ obj (evaluation C (Type w')) Y) (mapCone (obj (evaluation C (Type w')) Y) c)
κ : Cardinal.{w}
inst_2 : Fact κ.IsRegular
hK : HasCardinalLT (Arrow.{v', u'} K) κ
J : Type w
inst_3 : SmallCategory J
inst_4 : IsCardinalFiltered J κ
X : Functor.{w, v, w, u} J C
cX : Cocone X
hF : (k : K) → IsColimit ((F.obj k).mapCocone cX)
x : c.pt.obj cX.pt
this : IsFiltered J
y : (↑(F ⋙ obj (evaluation C (Type w')) cX.pt).sections : Type (max w' u'))
hy :
  (Equiv.symm (Types.isLimitEquivSections (hc cX.pt)) :
        (a : (↑(F ⋙ (evaluation C (Type w')).obj cX.pt).sections : Type (max w' u'))) →
          (((evaluation C (Type w')).obj cX.pt).mapCone c).pt)
      y =
    x
j₀ : J
z : (k : K) → (F.obj k).obj (X.obj j₀)
hz :
  ∀ (k : K),
    (↑y : (j : K) → (F ⋙ (evaluation C (Type w')).obj cX.pt).obj j) k =
      (ConcreteCategory.hom (FC := TypeCat.Fun) ((F.obj k).map (cX.ι.app j₀)) :
          (a : (fun (X : Type w') ↦ X) ((F.obj k).obj (X.obj j₀))) →
            (fun (X : Type w') ↦ X) ((F.obj k).obj (((const J).obj cX.pt).obj j₀)))
        (z k)
j₁ : J
α : j₀ ⟶ j₁
hα :
  ∀ ⦃k k' : K⦄ (φ : k ⟶ k'),
    Eq (α := (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₁)))
      ((ConcreteCategory.hom (FC := TypeCat.Fun) ((F.obj k').map (X.map α)) :
            (a : (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₀))) →
              (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₁)))
          ((ConcreteCategory.hom (FC := TypeCat.Fun) ((F.map φ).app (X.obj j₀)) :
                (a : (fun (X : Type w') ↦ X) ((F.obj k).obj (X.obj j₀))) →
                  (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₀)))
              (z k) :
            (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₀))) :
        (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₁)))
      ((ConcreteCategory.hom (FC := TypeCat.Fun) ((F.obj k').map (X.map α)) :
            (a : (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₀))) →
              (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₁)))
          (z k') :
        (fun (X : Type w') ↦ X) ((F.obj k').obj (X.obj j₁)))
s : (↑(F ⋙ obj (evaluation C (Type w')) (X.obj j₁)).sections : Type (max u' w')) :=
  Subtype.mk (p := fun (x : (j : K) → (F ⋙ obj (evaluation C (Type w')) (X.obj j₁)).obj j) ↦
    x ∈ (F ⋙ obj (evaluation C (Type w')) (X.obj j₁)).sections)
    (fun (k : K) ↦
      (ConcreteCategory.hom (FC := TypeCat.Fun) ((F.obj k).map (X.map α)) :
          (a : (fun (X : Type w') ↦ X) ((F.obj k).obj (X.obj j₀))) → (fun (X : Type w') ↦ X) ((F.obj k).obj (X.obj j₁)))
        (z k))
    ⋯
k : K
h₁ :
  Eq.{w' + 1} (α := (F ⋙ obj (evaluation C (Type w')) cX.pt).obj k)
    ((↑((Types.isLimitEquivSections (hc cX.pt) :
                (a : (((evaluation C (Type w')).obj cX.pt).mapCone c).pt) →
                  (↑(F ⋙ (evaluation C (Type w')).obj cX.pt).sections : Type (max w' u')))
              ((ConcreteCategory.hom (FC := TypeCat.Fun) (c.pt.map (cX.ι.app j₁)) :
                  (a : (fun (X : Type w') ↦ X) (c.pt.obj (X.obj j₁))) →
                    (fun (X : Type w') ↦ X) (c.pt.obj (((const J).obj cX.pt).obj j₁)))
                ((Equiv.symm (Types.isLimitEquivSections (hc (X.obj j₁))) :
                      (a : (↑(F ⋙ (evaluation C (Type w')).obj (X.obj j₁)).sections : Type (max w' u'))) →
                        (((evaluation C (Type w')).obj (X.obj j₁)).mapCone c).pt)
                    s :
                  Cone.pt (F := F ⋙ obj (evaluation C (Type w')) (X.obj j₁))
                    (mapCone (obj (evaluation C (Type w')) (X.obj j₁)) c)))) :
          (j : K) → (F ⋙ (evaluation C (Type w')).obj cX.pt).obj j)
        k :
      (F ⋙ obj (evaluation C (Type w')) cX.pt).obj k)
    ((ConcreteCategory.hom (FC := TypeCat.Fun)
            (NatTrans.app (Cone.π (mapCone (obj (evaluation C (Type w')) cX.pt) c)) k) :
          (a : (fun (X : Type w') ↦ X) (((const K).obj (((evaluation C (Type w')).obj cX.pt).mapCone c).pt).obj k)) →
            (fun (X : Type w') ↦ X) ((F ⋙ (evaluation C (Type w')).obj cX.pt).obj k))
        ((ConcreteCategory.hom (FC := TypeCat.Fun) (c.pt.map (cX.ι.app j₁)) :
              (a : (fun (X : Type w') ↦ X) (c.pt.obj (X.obj j₁))) →
                (fun (X : Type w') ↦ X) (c.pt.obj (((const J).obj cX.pt).obj j₁)))
            ((Equiv.symm (Types.isLimitEquivSections (hc (X.obj j₁))) :
                  (a : (↑(F ⋙ (evaluation C (Type w')).obj (X.obj j₁)).sections : Type (max w' u'))) →
                    (((evaluation C (Type w')).obj (X.obj j₁)).mapCone c).pt)
                s :
              Cone.pt (F := F ⋙ obj (evaluation C (Type w')) (X.obj j₁))
                (mapCone (obj (evaluation C (Type w')) (X.obj j₁)) c)) :
          (fun (X : Type w') ↦ X) (c.pt.obj (obj.{w, v, w, u} (obj (const J) cX.pt) j₁))) :
      (fun (X : Type w') ↦ X) ((F ⋙ obj (evaluation C (Type w')) cX.pt).obj k))
h₂ :
  ((@ConcreteCategory.hom _ types TypeCat.Fun _ _ _ _ _
            (NatTrans.app (Cone.π (mapCone (obj (evaluation C (Type w')) (X.obj j₁)) c)) k) :
          TypeCat.Fun
            (Cone.pt (F := F ⋙ obj (evaluation C (Type w')) (X.obj j₁))
              (mapCone (obj (evaluation C (Type w')) (X.obj j₁)) c))
            ((F ⋙ obj (evaluation C (Type w')) (X.obj j₁)).obj k)) :
        (a : (((evaluation C (Type w')).obj (X.obj j₁)).mapCone c).pt) →
          (F ⋙ (evaluation C (Type w')).obj (X.obj j₁)).obj k)
      ((Equiv.symm (Types.isLimitEquivSections (hc (X.obj j₁))) :
            (a : (↑(F ⋙ (evaluation C (Type w')).obj (X.obj j₁)).sections : Type (max w' u'))) →
              (((evaluation C (Type w')).obj (X.obj j₁)).mapCone c).pt)
          s :
        Cone.pt (F := F ⋙ obj (evaluation C (Type w')) (X.obj j₁))
          (mapCone (obj (evaluation C (Type w')) (X.obj j₁)) c)) =
    (↑s : (j : K) → (F ⋙ (evaluation C (Type w')).obj (X.obj j₁)).obj j) k
⊢ (↑y : (j : K) → (F ⋙ (evaluation C (Type w')).obj cX.pt).obj j) k =
    (↑((Types.isLimitEquivSections (hc cX.pt) :
              (a : (((evaluation C (Type w')).obj cX.pt).mapCone c).pt) →
                (↑(F ⋙ (evaluation C (Type w')).obj cX.pt).sections : Type (max w' u')))
            ((ConcreteCategory.hom (FC := TypeCat.Fun) ((c.pt.mapCocone cX).ι.app j₁) :
                (a : (fun (X : Type w') ↦ X) ((X ⋙ c.pt).obj j₁)) →
                  (fun (X : Type w') ↦ X) (((const J).obj (c.pt.mapCocone cX).pt).obj j₁))
              ((Equiv.symm (Types.isLimitEquivSections (hc (X.obj j₁))) :
                    (a : (↑(F ⋙ (evaluation C (Type w')).obj (X.obj j₁)).sections : Type (max w' u'))) →
                      (((evaluation C (Type w')).obj (X.obj j₁)).mapCone c).pt)
                  s :
                Cone.pt (F := F ⋙ obj (evaluation C (Type w')) (X.obj j₁))
                  (mapCone (obj (evaluation C (Type w')) (X.obj j₁)) c)))) :
        (j : K) → (F ⋙ (evaluation C (Type w')).obj cX.pt).obj j)
      k
have a : (↑y : (j : K) → (F.obj j).obj cX.pt) k =
  (↑((Types.isLimitEquivSections (hc cX.pt) :
            (a : c.pt.obj cX.pt) → (↑(F ⋙ (evaluation C (Type w')).obj cX.pt).sections : Type (max w' u')))
          ((ConcreteCategory.hom (FC := TypeCat.Fun) (c.pt.map (cX.ι.app j₁)) :
              (a : c.pt.obj (X.obj j₁)) → c.pt.obj cX.pt)
            ((Equiv.symm (Types.isLimitEquivSections (hc (X.obj j₁))) :
                  (a : (↑(F ⋙ (evaluation C (Type w')).obj (X.obj j₁)).sections : Type (max w' u'))) →
                    c.pt.obj (X.obj j₁))
                s :
              c.pt.obj (X.obj j₁)))) :
      (j : K) → (F.obj j).obj cX.pt)
    k
Tactic: dsimp at h₁ h₂ ⊢