Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 5a3abca

Browse files
committed
feat(topology/subset_properties): some compactness properties (#11425)
* Add some lemmas about the existence of compact sets * Add `is_compact.eventually_forall_of_forall_eventually` * Some cleanup in `topology/subset_properties` and `topology/separation`
1 parent feaf6f5 commit 5a3abca

File tree

2 files changed

+112
-53
lines changed

2 files changed

+112
-53
lines changed

src/topology/separation.lean

Lines changed: 48 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ If the space is also compact:
8787
https://en.wikipedia.org/wiki/Separation_axiom
8888
-/
8989

90-
open set filter
90+
open set filter topological_space
9191
open_locale topological_space filter classical
9292

9393
universes u v
@@ -1051,6 +1051,17 @@ begin
10511051
exact ⟨t, h2t, h3t, compact_closure_of_subset_compact hKc h1t⟩
10521052
end
10531053

1054+
/--
1055+
In a locally compact T₂ space, every compact set has an open neighborhood with compact closure.
1056+
-/
1057+
lemma exists_open_superset_and_is_compact_closure [locally_compact_space α] [t2_space α]
1058+
{K : set α} (hK : is_compact K) : ∃ V, is_open V ∧ K ⊆ V ∧ is_compact (closure V) :=
1059+
begin
1060+
rcases exists_compact_superset hK with ⟨K', hK', hKK'⟩,
1061+
refine ⟨interior K', is_open_interior, hKK',
1062+
compact_closure_of_subset_compact hK' interior_subset⟩,
1063+
end
1064+
10541065
lemma is_preirreducible_iff_subsingleton [t2_space α] (S : set α) :
10551066
is_preirreducible S ↔ subsingleton S :=
10561067
begin
@@ -1181,6 +1192,42 @@ begin
11811192
tauto
11821193
end
11831194

1195+
/--
1196+
In a locally compact regular space, given a compact set `K` inside an open set `U`, we can find a
1197+
compact set `K'` between these sets: `K` is inside the interior of `K'` and `K' ⊆ U`.
1198+
-/
1199+
lemma exists_compact_between [locally_compact_space α] [regular_space α]
1200+
{K U : set α} (hK : is_compact K) (hU : is_open U) (hKU : K ⊆ U) :
1201+
∃ K', is_compact K' ∧ K ⊆ interior K' ∧ K' ⊆ U :=
1202+
begin
1203+
choose C hxC hCU hC using λ x : K, nhds_is_closed (hU.mem_nhds $ hKU x.2),
1204+
choose L hL hxL using λ x : K, exists_compact_mem_nhds (x : α),
1205+
have : K ⊆ ⋃ x, interior (L x) ∩ interior (C x), from
1206+
λ x hx, mem_Union.mpr ⟨⟨x, hx⟩,
1207+
⟨mem_interior_iff_mem_nhds.mpr (hxL _), mem_interior_iff_mem_nhds.mpr (hxC _)⟩⟩,
1208+
rcases hK.elim_finite_subcover _ _ this with ⟨t, ht⟩,
1209+
{ refine ⟨⋃ x ∈ t, L x ∩ C x, t.compact_bUnion (λ x _, (hL x).inter_right (hC x)), λ x hx, _, _⟩,
1210+
{ obtain ⟨y, hyt, hy : x ∈ interior (L y) ∩ interior (C y)⟩ := mem_bUnion_iff.mp (ht hx),
1211+
rw [← interior_inter] at hy,
1212+
refine interior_mono (subset_bUnion_of_mem hyt) hy },
1213+
{ simp_rw [Union_subset_iff], rintro x -, exact (inter_subset_right _ _).trans (hCU _) } },
1214+
{ exact λ _, is_open_interior.inter is_open_interior }
1215+
end
1216+
1217+
/--
1218+
In a locally compact regular space, given a compact set `K` inside an open set `U`, we can find a
1219+
open set `V` between these sets with compact closure: `K ⊆ V` and the closure of `V` is inside `U`.
1220+
-/
1221+
lemma exists_open_between_and_is_compact_closure [locally_compact_space α] [regular_space α]
1222+
{K U : set α} (hK : is_compact K) (hU : is_open U) (hKU : K ⊆ U) :
1223+
∃ V, is_open V ∧ K ⊆ V ∧ closure V ⊆ U ∧ is_compact (closure V) :=
1224+
begin
1225+
rcases exists_compact_between hK hU hKU with ⟨V, hV, hKV, hVU⟩,
1226+
refine ⟨interior V, is_open_interior, hKV,
1227+
(closure_minimal interior_subset hV.is_closed).trans hVU,
1228+
compact_closure_of_subset_compact hV interior_subset⟩,
1229+
end
1230+
11841231
end regularity
11851232

11861233
section normality
@@ -1226,8 +1273,6 @@ begin
12261273
exact compact_compact_separated hs.is_compact ht.is_compact st.eq_bot
12271274
end
12281275

1229-
open topological_space
1230-
12311276
variable (α)
12321277

12331278
/-- A regular topological space with second countable topology is a normal space.
@@ -1352,8 +1397,6 @@ end
13521397

13531398
section profinite
13541399

1355-
open topological_space
1356-
13571400
variables [t2_space α]
13581401

13591402
/-- A Hausdorff space with a clopen basis is totally separated. -/
@@ -1443,8 +1486,6 @@ end profinite
14431486

14441487
section locally_compact
14451488

1446-
open topological_space
1447-
14481489
variables {H : Type*} [topological_space H] [locally_compact_space H] [t2_space H]
14491490

14501491
/-- A locally compact Hausdorff totally disconnected space has a basis with clopen elements. -/

0 commit comments

Comments
 (0)