/-- This is a constructor of `TopCat.GlueData` whose arguments are in terms of elements and
intersections rather than subobjects and pullbacks. Please refer to `TopCat.GlueData.MkCore` for
details. -/
def mk' (h : MkCore.{u}) : TopCat.GlueData where
  J := h.J
  U := h.U
  V i := (Opens.toTopCat _).obj (h.V i.1 i.2)
  f i j := (h.V i j).inclusion
  f_id i := by
    -- Porting note: added `dsimp only`
    dsimp only
    exact (h.V_id i).symm ▸ IsIso.of_iso (Opens.inclusionTopIso (h.U i))
  f_open := fun i j : h.J => (h.V i j).openEmbedding
  t := h.t
  t_id i := by ext; rw [h.t_id]; rfl
  t' := h.t'
  t_fac i j k := by
    delta MkCore.t'
    rw [Category.assoc, Category.assoc, pullbackIsoProdSubtype_inv_snd, ← Iso.eq_inv_comp,
      pullbackIsoProdSubtype_inv_fst_assoc]
    ext ⟨⟨⟨x, hx⟩, ⟨x', hx'⟩⟩, rfl : x = x'⟩
    rfl
  cocycle i j k := by
    delta MkCore.t'
    simp_rw [← Category.assoc]
    rw [Iso.comp_inv_eq]
    

Proof state:
D : GlueData
h : MkCore
i j k : h.J
⊢ ((((((((pullbackIsoProdSubtype (Opens.inclusion (MkCore.V h i j)) (Opens.inclusion (MkCore.V h i k))).hom ≫
                  ContinuousMap.mk fun x =>
                    {
                      val :=
                        ({ val := ↑((MkCore.t h i j) (↑x).1),
                            property := (_ : ↑((MkCore.t h i j) (↑x).1) ∈ MkCore.V h j k) },
                          (MkCore.t h i j) (↑x).1),
                      property :=
                        (_ :
                          (Opens.inclusion (MkCore.V h j k))
                              ({ val := ↑((MkCore.t h i j) (↑x).1),
                                    property := (_ : ↑((MkCore.t h i j) (↑x).1) ∈ MkCore.V h j k) },
                                  (MkCore.t h i j) (↑x).1).1 =
                            (Opens.inclusion (MkCore.V h j k))
                              ({ val := ↑((MkCore.t h i j) (↑x).1),
                                    property := (_ : ↑((MkCore.t h i j) (↑x).1) ∈ MkCore.V h j k) },
                                  (MkCore.t h i j) (↑x).1).1) }) ≫
                (pullbackIsoProdSubtype (Opens.inclusion (MkCore.V h j k)) (Opens.inclusion (MkCore.V h j i))).inv) ≫
              (pullbackIsoProdSubtype (Opens.inclusion (MkCore.V h j k)) (Opens.inclusion (MkCore.V h j i))).hom) ≫
            ContinuousMap.mk fun x =>
              {
                val :=
                  ({ val := ↑((MkCore.t h j k) (↑x).1), property := (_ : ↑((MkCore.t h j k) (↑x).1) ∈ MkCore.V h k i) },
                    (MkCore.t h j k) (↑x).1),
                property :=
                  (_ :
                    (Opens.inclusion (MkCore.V h k i))
                        ({ val := ↑((MkCore.t h j k) (↑x).1),
                              property := (_ : ↑((MkCore.t h j k) (↑x).1) ∈ MkCore.V h k i) },
                            (MkCore.t h j k) (↑x).1).1 =
                      (Opens.inclusion (MkCore.V h k i))
                        ({ val := ↑((MkCore.t h j k) (↑x).1),
                              property := (_ : ↑((MkCore.t h j k) (↑x).1) ∈ MkCore.V h k i) },
                            (MkCore.t h j k) (↑x).1).1) }) ≫
          (pullbackIsoProdSubtype (Opens.inclusion (MkCore.V h k i)) (Opens.inclusion (MkCore.V h k j))).inv) ≫
        (pullbackIsoProdSubtype (Opens.inclusion (MkCore.V h k i)) (Opens.inclusion (MkCore.V h k j))).hom) ≫
      ContinuousMap.mk fun x =>
        {
          val :=
            ({ val := ↑((MkCore.t h k i) (↑x).1), property := (_ : ↑((MkCore.t h k i) (↑x).1) ∈ MkCore.V h i j) },
              (MkCore.t h k i) (↑x).1),
          property :=
            (_ :
              (Opens.inclusion (MkCore.V h i j))
                  ({ val := ↑((MkCore.t h k i) (↑x).1), property := (_ : ↑((MkCore.t h k i) (↑x).1) ∈ MkCore.V h i j) },
                      (MkCore.t h k i) (↑x).1).1 =
                (Opens.inclusion (MkCore.V h i j))
                  ({ val := ↑((MkCore.t h k i) (↑x).1), property := (_ : ↑((MkCore.t h k i) (↑x).1) ∈ MkCore.V h i j) },
                      (MkCore.t h k i) (↑x).1).1) }) =
    𝟙 (pullback (Opens.inclusion (MkCore.V h i j)) (Opens.inclusion (MkCore.V h i k))) ≫
      (pullbackIsoProdSubtype (Opens.inclusion (MkCore.V h i j)) (Opens.inclusion (MkCore.V h i k))).hom

Next tactic:
simp only [Iso.inv_hom_id_assoc, Category.assoc, Category.id_comp]