instance finitaryExtensive_TopCat : FinitaryExtensive TopCat.{u} := by
  rw [finitaryExtensive_iff_of_isTerminal TopCat.{u} _ TopCat.isTerminalPUnit _
      (TopCat.binaryCofanIsColimit _ _)]
  apply BinaryCofan.isVanKampen_mk _ _ (fun X Y => TopCat.binaryCofanIsColimit X Y) _
      fun f g => TopCat.pullbackConeIsLimit f g
  · intro X' Y' αX αY f hαX hαY
    constructor
    · refine' ⟨⟨hαX.symm⟩, ⟨PullbackCone.isLimitAux' _ _⟩⟩
      

Proof state:
case h₁.left
J : Type v'
inst✝² : Category.{u', v'} J
C : Type u
inst✝¹ : Category.{v, u} C
D : Type u''
inst✝ : Category.{v'', u''} D
X Y : C
X' Y' : TopCat
αX : X' ⟶ TopCat.of PUnit.{u + 1}
αY : Y' ⟶ TopCat.of PUnit.{u + 1}
f : (TopCat.binaryCofan X' Y').pt ⟶ (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})).pt
hαX :
  αX ≫ BinaryCofan.inl (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})) =
    BinaryCofan.inl (TopCat.binaryCofan X' Y') ≫ f
hαY :
  αY ≫ BinaryCofan.inr (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})) =
    BinaryCofan.inr (TopCat.binaryCofan X' Y') ≫ f
⊢ (s : PullbackCone f (BinaryCofan.inl (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})))) →
    { l //
      l ≫
            PullbackCone.fst
              (PullbackCone.mk (BinaryCofan.inl (TopCat.binaryCofan X' Y')) αX
                (_ :
                  BinaryCofan.inl (TopCat.binaryCofan X' Y') ≫ f =
                    αX ≫ BinaryCofan.inl (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})))) =
          PullbackCone.fst s ∧
        l ≫
              PullbackCone.snd
                (PullbackCone.mk (BinaryCofan.inl (TopCat.binaryCofan X' Y')) αX
                  (_ :
                    BinaryCofan.inl (TopCat.binaryCofan X' Y') ≫ f =
                      αX ≫ BinaryCofan.inl (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})))) =
            PullbackCone.snd s ∧
          ∀
            {m :
              s.pt ⟶
                (PullbackCone.mk (BinaryCofan.inl (TopCat.binaryCofan X' Y')) αX
                    (_ :
                      BinaryCofan.inl (TopCat.binaryCofan X' Y') ≫ f =
                        αX ≫
                          BinaryCofan.inl
                            (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})))).pt},
            m ≫
                  PullbackCone.fst
                    (PullbackCone.mk (BinaryCofan.inl (TopCat.binaryCofan X' Y')) αX
                      (_ :
                        BinaryCofan.inl (TopCat.binaryCofan X' Y') ≫ f =
                          αX ≫
                            BinaryCofan.inl (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})))) =
                PullbackCone.fst s →
              m ≫
                    PullbackCone.snd
                      (PullbackCone.mk (BinaryCofan.inl (TopCat.binaryCofan X' Y')) αX
                        (_ :
                          BinaryCofan.inl (TopCat.binaryCofan X' Y') ≫ f =
                            αX ≫
                              BinaryCofan.inl
                                (TopCat.binaryCofan (TopCat.of PUnit.{u + 1}) (TopCat.of PUnit.{u + 1})))) =
                  PullbackCone.snd s →
                m = l }

Next tactic:
intro s