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 u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
⊢ IsClosed (partialSections F H)
state_after: J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this : partialSections F H = ⋂ f ∈ H, {u | (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
⊢ IsClosed (partialSections F H)

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

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

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

tactic: have : T2Space ((forget TopCat).obj (F.obj f.snd.fst)) :=
  inferInstanceAs (T2Space (F.obj f.snd.fst))
state_before: case h
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this : partialSections F H = ⋂ f ∈ H, {u | (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 | (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
state_after: case h
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ : partialSections F H = ⋂ f ∈ H, {u | (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 | (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}

tactic: apply isClosed_eq
state_before: case h
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ : partialSections F H = ⋂ f ∈ H, {u | (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 | (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
state_after: case h.hf
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ : partialSections F H = ⋂ f ∈ H, {u | (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 y => (F.map f.snd.snd.snd.snd) (y f.fst)

case h.hg
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ : partialSections F H = ⋂ f ∈ H, {u | (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 y => y f.snd.fst

tactic: ext1
state_before: J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
⊢ partialSections F H = ⋂ f ∈ H, {u | (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
state_after: case h
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (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 ∈ H, {u | (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 u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (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 ∈ H, {u | (F.map f.snd.snd.snd.snd) (u f.fst) = u f.snd.fst}
state_after: case h
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (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 ∈ H, (F.map i.snd.snd.snd.snd) (x✝ i.fst) = x✝ i.snd.fst

tactic: rfl
state_before: case h
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (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 ∈ H, (F.map i.snd.snd.snd.snd) (x✝ i.fst) = x✝ i.snd.fst
state_after: no goals

tactic: exact (F.map f.snd.snd.snd.snd).continuous.comp (continuous_apply f.fst)
state_before: case h.hf
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ : partialSections F H = ⋂ f ∈ H, {u | (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 y => (F.map f.snd.snd.snd.snd) (y f.fst)
state_after: no goals

tactic: continuity
state_before: case h.hg
J : Type u
inst✝¹ : SmallCategory J
F : J ⥤ TopCat
inst✝ : ∀ (j : J), T2Space ↑(F.obj j)
G : Finset J
H : Finset (TopCat.FiniteDiagramArrow G)
this✝ : partialSections F H = ⋂ f ∈ H, {u | (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 y => y f.snd.fst
state_after: no goals