Skip to content

Commit 07ef34f

Browse files
Raph-DGReemMelamed
authored andcommitted
feat(Topology): An open cover of a preconnected set has no isolated components (leanprover-community#39691)
In this PR we show that a family of open sets whose union is preconnected has the property that for any two (nonempty) sets U and V in the cover there is a sequence of sets in the cover U = U_0, U_1,..., U_n = V such that U_i \cap U_{i+1} is nonempty for all i. Co-authored-by: Raph-DG <raphaeldouglasgiles@gmail.com>
1 parent 530ed8e commit 07ef34f

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

Mathlib/Topology/Connected/Basic.lean

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,26 @@ theorem IsConnected.iUnion_of_reflTransGen {ι : Type*} [Nonempty ι] {s : ι
200200
⟨nonempty_iUnion.2 <| Nonempty.elim ‹_› fun i : ι => ⟨i, (H _).nonempty⟩,
201201
IsPreconnected.iUnion_of_reflTransGen (fun i => (H i).isPreconnected) K⟩
202202

203+
lemma IsPreconnected.transGen_of_iUnion {ι : Type*} {s : ι → Set α}
204+
(hs : IsPreconnected (⋃ n, s n)) (hs' : ∀ i, IsOpen (s i)) (i j : ι) (hi : (s i).Nonempty)
205+
(hj : (s j).Nonempty) : TransGen (fun a b ↦ (s a ∩ s b).Nonempty) i j := by
206+
by_contra hij
207+
let S : Set ι := {k | TransGen (fun a b ↦ (s a ∩ s b).Nonempty) i k}
208+
let U : Set α := ⋃ k ∈ S, s k
209+
let V : Set α := ⋃ k ∈ Sᶜ, s k
210+
have hsplit : (⋃ n, s n) = U ∪ V := iSup_split s (· ∈ S)
211+
obtain ⟨a, ha⟩ := hi
212+
obtain ⟨b, hb⟩ := hj
213+
let hi_S : i ∈ S := Relation.TransGen.single ⟨a, ha, ha⟩
214+
have hUne : ((⋃ n, s n) ∩ U).Nonempty := ⟨a, mem_iUnion_of_mem i ha, mem_iUnion₂_of_mem hi_S ha⟩
215+
have hVne : ((⋃ n, s n) ∩ V).Nonempty := ⟨b, mem_iUnion_of_mem j hb, mem_iUnion₂_of_mem hij hb⟩
216+
obtain ⟨x, -, hxU, hxV⟩ := hs U V (isOpen_biUnion fun i a ↦ hs' i)
217+
(isOpen_biUnion fun i a ↦ hs' i) hsplit.le hUne hVne
218+
simp only [mem_iUnion, exists_prop, mem_compl_iff, U, V] at hxU hxV
219+
obtain ⟨k, hk, hxk⟩ := hxU
220+
obtain ⟨l, hl, hxl⟩ := hxV
221+
exact hl (hk.tail ⟨x, hxk, hxl⟩)
222+
203223
section SuccOrder
204224

205225
open Order

0 commit comments

Comments
 (0)