@@ -19,7 +19,8 @@ In this file we give the definition and prove basic properties of locally finite
19
19
open set function filter
20
20
open_locale topological_space filter
21
21
22
- variables {ι ι' α X Y : Type *} [topological_space X] [topological_space Y]
22
+ universe u
23
+ variables {ι : Type u} {ι' α X Y : Type *} [topological_space X] [topological_space Y]
23
24
{f g : ι → set X}
24
25
25
26
/-- A family of sets in `set X` is locally finite if at every point `x : X`,
@@ -45,34 +46,25 @@ lemma comp_inj_on {g : ι' → ι} (hf : locally_finite f)
45
46
λ x, let ⟨t, htx, htf⟩ := hf x in ⟨t, htx, htf.preimage $ hg.mono $ λ i hi,
46
47
hi.out.mono $ inter_subset_left _ _⟩
47
48
48
- lemma comp_injective {g : ι' → ι} (hf : locally_finite f)
49
- (hg : function.injective g) : locally_finite (f ∘ g) :=
49
+ lemma comp_injective {g : ι' → ι} (hf : locally_finite f) (hg : injective g) :
50
+ locally_finite (f ∘ g) :=
50
51
hf.comp_inj_on (hg.inj_on _)
51
52
52
- lemma eventually_finite (hf : locally_finite f) (x : X) :
53
+ lemma _root_.locally_finite_iff_small_sets :
54
+ locally_finite f ↔ ∀ x, ∀ᶠ s in (𝓝 x).small_sets, {i | (f i ∩ s).nonempty}.finite :=
55
+ forall_congr $ λ x, iff.symm $ eventually_small_sets' $ λ s t hst ht, ht.subset $
56
+ λ i hi, hi.mono $ inter_subset_inter_right _ hst
57
+
58
+ protected lemma eventually_small_sets (hf : locally_finite f) (x : X) :
53
59
∀ᶠ s in (𝓝 x).small_sets, {i | (f i ∩ s).nonempty}.finite :=
54
- eventually_small_sets.2 $ let ⟨s, hsx, hs⟩ := hf x in
55
- ⟨s, hsx, λ t hts, hs.subset $ λ i hi, hi.out.mono $ inter_subset_inter_right _ hts⟩
60
+ locally_finite_iff_small_sets.mp hf x
56
61
57
62
lemma exists_mem_basis {ι' : Sort *} (hf : locally_finite f) {p : ι' → Prop }
58
63
{s : ι' → set X} {x : X} (hb : (𝓝 x).has_basis p s) :
59
64
∃ i (hi : p i), {j | (f j ∩ s i).nonempty}.finite :=
60
- let ⟨i, hpi, hi⟩ := hb.small_sets.eventually_iff.mp (hf.eventually_finite x)
65
+ let ⟨i, hpi, hi⟩ := hb.small_sets.eventually_iff.mp (hf.eventually_small_sets x)
61
66
in ⟨i, hpi, hi subset.rfl⟩
62
67
63
- lemma sum_elim {g : ι' → set X} (hf : locally_finite f) (hg : locally_finite g) :
64
- locally_finite (sum.elim f g) :=
65
- begin
66
- intro x,
67
- obtain ⟨s, hsx, hsf, hsg⟩ :
68
- ∃ s, s ∈ 𝓝 x ∧ {i | (f i ∩ s).nonempty}.finite ∧ {j | (g j ∩ s).nonempty}.finite,
69
- from ((𝓝 x).frequently_small_sets_mem.and_eventually
70
- ((hf.eventually_finite x).and (hg.eventually_finite x))).exists,
71
- refine ⟨s, hsx, _⟩,
72
- convert (hsf.image sum.inl).union (hsg.image sum.inr) using 1 ,
73
- ext (i|j); simp
74
- end
75
-
76
68
protected lemma closure (hf : locally_finite f) : locally_finite (λ i, closure (f i)) :=
77
69
begin
78
70
intro x,
@@ -162,3 +154,29 @@ lemma preimage_continuous {g : Y → X} (hf : locally_finite f) (hg : continuous
162
154
in ⟨g ⁻¹' s, hg.continuous_at hsx, hs.subset $ λ i ⟨y, hy⟩, ⟨g y, hy⟩⟩
163
155
164
156
end locally_finite
157
+
158
+ @[simp] lemma equiv.locally_finite_comp_iff (e : ι' ≃ ι) :
159
+ locally_finite (f ∘ e) ↔ locally_finite f :=
160
+ ⟨λ h, by simpa only [(∘), e.apply_symm_apply] using h.comp_injective e.symm.injective,
161
+ λ h, h.comp_injective e.injective⟩
162
+
163
+ lemma locally_finite_sum {f : ι ⊕ ι' → set X} :
164
+ locally_finite f ↔ locally_finite (f ∘ sum.inl) ∧ locally_finite (f ∘ sum.inr) :=
165
+ by simp only [locally_finite_iff_small_sets, ← forall_and_distrib, ← finite_preimage_inl_and_inr,
166
+ preimage_set_of_eq, (∘), eventually_and]
167
+
168
+ lemma locally_finite.sum_elim {g : ι' → set X} (hf : locally_finite f) (hg : locally_finite g) :
169
+ locally_finite (sum.elim f g) :=
170
+ locally_finite_sum.mpr ⟨hf, hg⟩
171
+
172
+ lemma locally_finite_option {f : option ι → set X} :
173
+ locally_finite f ↔ locally_finite (f ∘ some) :=
174
+ begin
175
+ simp only [← (equiv.option_equiv_sum_punit.{u} ι).symm.locally_finite_comp_iff,
176
+ locally_finite_sum, locally_finite_of_finite, and_true],
177
+ refl
178
+ end
179
+
180
+ lemma locally_finite.option_elim (hf : locally_finite f) (s : set X) :
181
+ locally_finite (option.elim s f) :=
182
+ locally_finite_option.2 hf
0 commit comments