Theorem: ContinuousMap.compactOpen_eq_iInf_induced
File: Mathlib/Topology/CompactOpen.lean

tactic: refine le_antisymm (le_iInf₂ fun s _ ↦ compactOpen_le_induced s) ?_
state_before: α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K : Set X
U : Set Y
⊢ compactOpen = ⨅ K, ⨅ (_ : IsCompact K), induced (restrict K) compactOpen
state_after: α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K : Set X
U : Set Y
⊢ ⨅ K, ⨅ (_ : IsCompact K), induced (restrict K) compactOpen ≤ compactOpen

tactic: refine le_generateFrom <| forall_image2_iff.2 fun K (hK : IsCompact K) U hU ↦ ?_
state_before: α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K : Set X
U : Set Y
⊢ ⨅ K, ⨅ (_ : IsCompact K), induced (restrict K) compactOpen ≤ compactOpen
state_after: α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K✝ : Set X
U✝ : Set Y
K : Set X
hK : IsCompact K
U : Set Y
hU : U ∈ {U | IsOpen U}
⊢ IsOpen {f | MapsTo (⇑f) K U}

tactic: convert isOpen_induced (isOpen_setOf_mapsTo (isCompact_iff_isCompact_univ.1 hK) hU)
state_before: α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K✝ : Set X
U✝ : Set Y
K : Set X
hK : IsCompact K
U : Set Y
hU : U ∈ {U | IsOpen U}
⊢ IsOpen {f | MapsTo (⇑f) K U}
state_after: case h.e'_3
α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K✝ : Set X
U✝ : Set Y
K : Set X
hK : IsCompact K
U : Set Y
hU : U ∈ {U | IsOpen U}
⊢ {f | MapsTo (⇑f) K U} = restrict K ⁻¹' {f | MapsTo (⇑f) univ U}

tactic: simp only [mapsTo_univ_iff, Subtype.forall]
state_before: case h.e'_3
α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K✝ : Set X
U✝ : Set Y
K : Set X
hK : IsCompact K
U : Set Y
hU : U ∈ {U | IsOpen U}
⊢ {f | MapsTo (⇑f) K U} = restrict K ⁻¹' {f | MapsTo (⇑f) univ U}
state_after: case h.e'_3
α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K✝ : Set X
U✝ : Set Y
K : Set X
hK : IsCompact K
U : Set Y
hU : U ∈ {U | IsOpen U}
⊢ {f | MapsTo (⇑f) K U} = restrict K ⁻¹' {f | ∀ (a : X) (b : a ∈ K), f ⟨a, b⟩ ∈ U}

tactic: rfl
state_before: case h.e'_3
α : Type u_1
X : Type u_2
Y : Type u_3
Z : Type u_4
T : Type u_5
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace T
K✝ : Set X
U✝ : Set Y
K : Set X
hK : IsCompact K
U : Set Y
hU : U ∈ {U | IsOpen U}
⊢ {f | MapsTo (⇑f) K U} = restrict K ⁻¹' {f | ∀ (a : X) (b : a ∈ K), f ⟨a, b⟩ ∈ U}
state_after: no goals