@@ -146,22 +146,39 @@ theorem isCompact_iff_ultrafilter_le_nhds' :
146146
147147alias ⟨IsCompact.ultrafilter_le_nhds', _⟩ := isCompact_iff_ultrafilter_le_nhds'
148148
149+ /-- If a compact set belongs to a filter and all cluster points in this set and in the filter
150+ lie in a set `s'` then the filter is less than or equal to `𝓝ˢ s'`. -/
151+ lemma IsCompact.le_nhdsSet_of_clusterPt (hs : IsCompact s) {l : Filter X} {s' : Set X}
152+ (hmem : s ∈ l) (h : ∀ x ∈ s, ClusterPt x l → x ∈ s') : l ≤ 𝓝ˢ s' := by
153+ refine le_iff_ultrafilter.2 fun f hf ↦ ?_
154+ rcases hs.ultrafilter_le_nhds' f (hf hmem) with ⟨x, hxs, hx⟩
155+ grw [hx]
156+ refine nhds_le_nhdsSet ?_
157+ exact h x hxs (.mono (.of_le_nhds hx) hf)
158+
149159/-- If a compact set belongs to a filter and this filter has a unique cluster point `y` in this set,
150160then the filter is less than or equal to `𝓝 y`. -/
151161lemma IsCompact.le_nhds_of_unique_clusterPt (hs : IsCompact s) {l : Filter X} {y : X}
152162 (hmem : s ∈ l) (h : ∀ x ∈ s, ClusterPt x l → x = y) : l ≤ 𝓝 y := by
153- refine le_iff_ultrafilter.2 fun f hf ↦ ?_
154- rcases hs.ultrafilter_le_nhds' f (hf hmem) with ⟨x, hxs, hx⟩
155- convert ← hx
156- exact h x hxs (.mono (.of_le_nhds hx) hf)
163+ rw [← nhdsSet_singleton]
164+ exact hs.le_nhdsSet_of_clusterPt hmem h
165+
166+ /-- If values of `f : Y → X` belong to a compact set `s` eventually along a filter `l`
167+ and `s'` is the set of `MapClusterPt` for `f` along `l` in `s`,
168+ then `f` tends to `𝓝ˢ s'` along `l`. -/
169+ lemma IsCompact.tendsto_nhdsSet_of_mapClusterPt {Y} {l : Filter Y} {s' : Set X} {f : Y → X}
170+ (hs : IsCompact s) (hmem : ∀ᶠ x in l, f x ∈ s) (h : ∀ x ∈ s, MapClusterPt x l f → x ∈ s') :
171+ Tendsto f l (𝓝ˢ s') :=
172+ hs.le_nhdsSet_of_clusterPt (mem_map.2 hmem) h
157173
158174/-- If values of `f : Y → X` belong to a compact set `s` eventually along a filter `l`
159175and `y` is a unique `MapClusterPt` for `f` along `l` in `s`,
160176then `f` tends to `𝓝 y` along `l`. -/
161177lemma IsCompact.tendsto_nhds_of_unique_mapClusterPt {Y} {l : Filter Y} {y : X} {f : Y → X}
162178 (hs : IsCompact s) (hmem : ∀ᶠ x in l, f x ∈ s) (h : ∀ x ∈ s, MapClusterPt x l f → x = y) :
163- Tendsto f l (𝓝 y) :=
164- hs.le_nhds_of_unique_clusterPt (mem_map.2 hmem) h
179+ Tendsto f l (𝓝 y) := by
180+ rw [← nhdsSet_singleton]
181+ exact hs.tendsto_nhdsSet_of_mapClusterPt hmem h
165182
166183/-- For every open directed cover of a compact set, there exists a single element of the
167184cover which itself includes the set. -/
0 commit comments