@@ -214,3 +214,46 @@ begin
214
214
end
215
215
216
216
end mul_zero_class
217
+
218
+ namespace locally_finite
219
+
220
+ variables {ι : Type *} {U : ι → set X} [topological_space X] [has_one R]
221
+
222
+ /-- If a family of functions `f` has locally-finite multiplicative support, subordinate to a family
223
+ of open sets, then for any point we can find a neighbourhood on which only finitely-many members of
224
+ `f` are not equal to 1. -/
225
+ @[to_additive
226
+ /-" If a family of functions `f` has locally-finite support, subordinate to a family of open sets,
227
+ then for any point we can find a neighbourhood on which only finitely-many members of `f` are
228
+ non-zero. "-/ ]
229
+ lemma exists_finset_nhd_mul_support_subset
230
+ {f : ι → X → R} (hlf : locally_finite (λ i, mul_support (f i)))
231
+ (hso : ∀ i, mul_tsupport (f i) ⊆ U i) (ho : ∀ i, is_open (U i)) (x : X) :
232
+ ∃ (is : finset ι) {n : set X} (hn₁ : n ∈ 𝓝 x) (hn₂ : n ⊆ ⋂ i ∈ is, U i), ∀ (z ∈ n),
233
+ mul_support (λ i, f i z) ⊆ is :=
234
+ begin
235
+ obtain ⟨n, hn, hnf⟩ := hlf x,
236
+ classical,
237
+ let is := hnf.to_finset.filter (λ i, x ∈ U i),
238
+ let js := hnf.to_finset.filter (λ j, x ∉ U j),
239
+ refine ⟨is, n ∩ (⋂ j ∈ js, (mul_tsupport (f j))ᶜ) ∩ (⋂ i ∈ is, U i),
240
+ inter_mem (inter_mem hn _) _, inter_subset_right _ _, λ z hz, _⟩,
241
+ { exact (bInter_finset_mem js).mpr (λ j hj, is_closed.compl_mem_nhds
242
+ (is_closed_mul_tsupport _) (set.not_mem_subset (hso j) (finset.mem_filter.mp hj).2 )), },
243
+ { exact (bInter_finset_mem is).mpr (λ i hi, (ho i).mem_nhds (finset.mem_filter.mp hi).2 ) },
244
+ { have hzn : z ∈ n,
245
+ { rw inter_assoc at hz,
246
+ exact mem_of_mem_inter_left hz, },
247
+ replace hz := mem_of_mem_inter_right (mem_of_mem_inter_left hz),
248
+ simp only [finset.mem_filter, finite.mem_to_finset, mem_set_of_eq, mem_Inter, and_imp] at hz,
249
+ suffices : mul_support (λ i, f i z) ⊆ hnf.to_finset,
250
+ { refine hnf.to_finset.subset_coe_filter_of_subset_forall _ this (λ i hi, _),
251
+ specialize hz i ⟨z, ⟨hi, hzn⟩⟩,
252
+ contrapose hz,
253
+ simp [hz, subset_mul_tsupport (f i) hi], },
254
+ intros i hi,
255
+ simp only [finite.coe_to_finset, mem_set_of_eq],
256
+ exact ⟨z, ⟨hi, hzn⟩⟩, },
257
+ end
258
+
259
+ end locally_finite
0 commit comments