-- 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 (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)
this :
  Eq (α := (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v) → (↑(↑(D.V (i, k)) : TopCat) : Type v))
    (⇑(TopCat.Hom.hom (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))
    (Function.comp (β := (↑(↑(D.V (k, i)) : TopCat) : Type v))
      (⇑(TopCat.Hom.hom (D.t k i).base) :
        (a : (↑(↑(D.V (k, i)) : TopCat) : Type v)) → (↑(↑(D.V (i, k)) : TopCat) : Type v))
      (Function.comp (β := (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v))
        (⇑(TopCat.Hom.hom (Hom.base (pullback.fst (D.f k i) (D.f k j)))) :
          (a : (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v)) → (↑(↑(D.V (k, i)) : TopCat) : Type v))
        (⇑(TopCat.Hom.hom (inv (D.t' k i j)).base) :
          (a : (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)) →
            (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v))))
x : (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v)
w :
  (ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC := TopCat.carrier)
          ((D.t' k i j).base ≫ (inv (D.t' k i j)).base) :
        (a : (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v)) →
          (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v))
      x =
    x
w₁ :
  (ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC := TopCat.carrier)
          (D.t' k i j ≫ inv (D.t' k i j)).base :
        (a : (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v)) →
          (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v))
      x =
    x
w₂ :
  (ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC := TopCat.carrier)
          (Hom.base (𝟙 (pullback (D.f k i) (D.f k j)))) :
        (a : (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v)) →
          (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v))
      x =
    x
⊢ (TopCat.Hom.hom (inv (D.t' k i j)).base :
        (a : (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)) →
          (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v))
      ((ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC := TopCat.carrier)
              (D.t' k i j).base :
            (a : (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v)) →
              (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v))
          x :
        (↑(↑(pullback (D.f i j) (D.f i k)) : TopCat) : Type v)) =
    x
have w₃ : (ConcreteCategory.hom (FC := fun (X Y : TopCat.{v}) ↦ C((↑X : Type v), (↑Y : Type v))) (CC := TopCat.carrier)
        (𝟙 (↑(pullback (D.f k i) (D.f k j)) : TopCat)) :
      (a : (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v)) →
        (↑(↑(pullback (D.f k i) (D.f k j)) : TopCat) : Type v))
    x =
  x
Tactic: rw [← ConcreteCategory.comp_apply, ← comp_base, IsIso.hom_inv_id, id_base,
        ConcreteCategory.id_apply]