Theorem: TopCat.partialSections.closed
File: Mathlib/Topology/Category/TopCat/Limits/Konig.lean

tactic: have :
  partialSections F H =
    ⋂ (f : FiniteDiagramArrow G) (_ : f ∈ H), { u | F.map f.2.2.2.2 (u f.1) = u f.2.1 } := by
  ext1
  simp only [Set.mem_iInter, Set.mem_setOf_eq]
  rfl
state_before: J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
⊢ IsClosed (partialSections F H)

tactic: rw [this]
state_before: J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this :
  partialSections F H =
    ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
⊢ IsClosed (partialSections F H)

tactic: apply isClosed_biInter
state_before: J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this :
  partialSections F H =
    ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
⊢ IsClosed
    (⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst})

tactic: intro f _
state_before: case h
J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this :
  partialSections F H =
    ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
⊢ ∀ (i : TopCat.FiniteDiagramArrow G),
    (i ∈ fun i => i ∈ H.val) → IsClosed {u | (forget TopCat).map (F.map i.snd.snd.snd.snd) (u i.fst) = u i.snd.fst}

tactic: have : T2Space ((forget TopCat).obj (F.obj f.snd.fst)) := I f.snd.fst
state_before: case h
J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this :
  partialSections F H =
    ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
f : TopCat.FiniteDiagramArrow G
a✝ : f ∈ fun i => i ∈ H.val
⊢ IsClosed {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}

tactic: apply isClosed_eq
state_before: case h
J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ :
  partialSections F H =
    ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
f : TopCat.FiniteDiagramArrow G
a✝ : f ∈ fun i => i ∈ H.val
this : T2Space ((forget TopCat).obj (F.obj f.snd.fst))
⊢ IsClosed {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}

tactic: ext1
state_before: J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
⊢ partialSections F H =
    ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}

tactic: simp only [Set.mem_iInter, Set.mem_setOf_eq]
state_before: case h
J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
x✝ : (j : J) → ↑(F.obj j)
⊢ x✝ ∈ partialSections F H ↔
    x✝ ∈
      ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
        {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}

tactic: rfl
state_before: case h
J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
x✝ : (j : J) → ↑(F.obj j)
⊢ x✝ ∈ partialSections F H ↔
    ∀ (i : TopCat.FiniteDiagramArrow G), i ∈ H → (forget TopCat).map (F.map i.snd.snd.snd.snd) (x✝ i.fst) = x✝ i.snd.fst

tactic: apply Continuous.comp (F.map f.snd.snd.snd.snd).continuous_toFun (continuous_apply f.fst)
state_before: case h.hf
J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ :
  partialSections F H =
    ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
f : TopCat.FiniteDiagramArrow G
a✝ : f ∈ fun i => i ∈ H.val
this : T2Space ((forget TopCat).obj (F.obj f.snd.fst))
⊢ Continuous fun x => (forget TopCat).map (F.map f.snd.snd.snd.snd) (x f.fst)

tactic: apply continuous_apply f.snd.fst
state_before: case h.hg
J✝ : Type v
inst✝¹ : SmallCategory J✝
J : Type u
inst✝ : SmallCategory J
F : J ⥤ TopCat
I : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ :
  partialSections F H =
    ⋂ (f : TopCat.FiniteDiagramArrow G) (_ : f ∈ H),
      {u | (forget TopCat).map (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
f : TopCat.FiniteDiagramArrow G
a✝ : f ∈ fun i => i ∈ H.val
this : T2Space ((forget TopCat).obj (F.obj f.snd.fst))
⊢ Continuous fun x => x f.snd.fst