-- Lean 4 proof step from Mathlib.Geometry.RingedSpace.PresheafedSpace.Gluing (goal)
Goal:
C : Type u
inst : Category.{v, u} C
D : GlueData.{v, u} C
i j k : D.J
U : Opens (↑(↑(D.V (i, j)) : TopCat) : Type v)
⊢ op
      {
        carrier :=
          (⇑(ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC :=
                  TopCat.carrier) (X := (↑(pullback (D.f i j) (D.f i k)) : TopCat))
                  (Hom.base (pullback.snd (D.f i j) (D.f i k)))) :
              (a : (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)) → (↑(↑(D.V (i, k)) : TopCat) : Type v)) ''
            (↑{
                  carrier :=
                    (⇑(ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC :=
                            TopCat.carrier) (X := (↑(pullback (D.f i j) (D.f i k)) : TopCat))
                            (Hom.base (pullback.fst (D.f i j) (D.f i k)))) :
                        (a : (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)) →
                          (↑(↑(D.V (i, j)) : TopCat) : Type v)) ⁻¹'
                      (↑U : Set (↑(↑(D.V (i, j)) : TopCat) : Type v)),
                  is_open' := ⋯ : Opens (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v) } :
              Set (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)),
        is_open' := ⋯ } =
    op
      {
        carrier :=
          (⇑(ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC :=
                  TopCat.carrier) (D.f i k).base) :
              (a : (↑(↑(D.V (i, k)) : TopCat) : Type v)) → (↑(↑(D.U i) : TopCat) : Type v)) ⁻¹'
            (↑{
                  carrier :=
                    (⇑(ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC :=
                            TopCat.carrier) (D.f i j).base) :
                        (a : (↑(↑(D.V (i, j)) : TopCat) : Type v)) → (↑(↑(D.U i) : TopCat) : Type v)) ''
                      (↑U : Set (↑(↑(D.V (i, j)) : TopCat) : Type v)),
                  is_open' := ⋯ : Opens (↑(↑(D.U i) : TopCat) : Type v) } :
              Set (↑(↑(D.U i) : TopCat) : Type v)),
        is_open' := ⋯ : Opens (↑(↑(D.V (i, k)) : TopCat) : Type v) }
have e_unop : Eq (α := Set (↑(↑(D.V (i, k)) : TopCat) : Type v))
  ((⇑(ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC := TopCat.carrier) (X :=
          (↑(pullback (D.f i j) (D.f i k)) : TopCat)) (Hom.base (pullback.snd (D.f i j) (D.f i k)))) :
      (a : (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)) → (↑(↑(D.V (i, k)) : TopCat) : Type v)) ''
    (↑{
          carrier :=
            (⇑(ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC :=
                    TopCat.carrier) (X := (↑(pullback (D.f i j) (D.f i k)) : TopCat))
                    (Hom.base (pullback.fst (D.f i j) (D.f i k)))) :
                (a : (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)) → (↑(↑(D.V (i, j)) : TopCat) : Type v)) ⁻¹'
              (↑U : Set (↑(↑(D.V (i, j)) : TopCat) : Type v)),
          is_open' := sorry : Opens (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v) } :
      Set (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)))
  ((⇑(ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC := TopCat.carrier)
          (D.f i k).base) :
      (a : (↑(↑(D.V (i, k)) : TopCat) : Type v)) → (↑(↑(D.U i) : TopCat) : Type v)) ⁻¹'
    (↑{
          carrier :=
            (⇑(ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC :=
                    TopCat.carrier) (D.f i j).base) :
                (a : (↑(↑(D.V (i, j)) : TopCat) : Type v)) → (↑(↑(D.U i) : TopCat) : Type v)) ''
              (↑U : Set (↑(↑(D.V (i, j)) : TopCat) : Type v)),
          is_open' := sorry : Opens (↑(↑(D.U i) : TopCat) : Type v) } :
      Set (↑(↑(D.U i) : TopCat) : Type v)))
Tactic: congr