@@ -166,6 +166,7 @@ theorem sum_le_one (x : M) : ∑ᶠ i, f i x ≤ 1 :=
166
166
#align smooth_partition_of_unity.sum_le_one SmoothPartitionOfUnity.sum_le_one
167
167
168
168
/-- Reinterpret a smooth partition of unity as a continuous partition of unity. -/
169
+ @[simps]
169
170
def toPartitionOfUnity : PartitionOfUnity ι M s :=
170
171
{ f with toFun := fun i => f i }
171
172
#align smooth_partition_of_unity.to_partition_of_unity SmoothPartitionOfUnity.toPartitionOfUnity
@@ -232,6 +233,64 @@ theorem finsum_smul_mem_convex {g : ι → M → F} {t : Set F} {x : M} (hx : x
232
233
ht.finsum_mem (fun _ => f.nonneg _ _) (f.sum_eq_one hx) hg
233
234
#align smooth_partition_of_unity.finsum_smul_mem_convex SmoothPartitionOfUnity.finsum_smul_mem_convex
234
235
236
+ section finsupport
237
+
238
+ variable {s : Set M} (ρ : SmoothPartitionOfUnity ι I M s) (x₀ : M)
239
+
240
+ /-- The support of a smooth partition of unity at a point `x₀` as a `Finset`.
241
+ This is the set of `i : ι` such that `x₀ ∈ support f i`, i.e. `f i ≠ x₀`. -/
242
+ def finsupport : Finset ι := ρ.toPartitionOfUnity.finsupport x₀
243
+
244
+ @[simp]
245
+ theorem mem_finsupport {i : ι} : i ∈ ρ.finsupport x₀ ↔ i ∈ support fun i ↦ ρ i x₀ :=
246
+ ρ.toPartitionOfUnity.mem_finsupport x₀
247
+
248
+ @[simp]
249
+ theorem coe_finsupport : (ρ.finsupport x₀ : Set ι) = support fun i ↦ ρ i x₀ :=
250
+ ρ.toPartitionOfUnity.coe_finsupport x₀
251
+
252
+ theorem sum_finsupport (hx₀ : x₀ ∈ s) : ∑ i in ρ.finsupport x₀, ρ i x₀ = 1 :=
253
+ ρ.toPartitionOfUnity.sum_finsupport hx₀
254
+
255
+ theorem sum_finsupport' (hx₀ : x₀ ∈ s) {I : Finset ι} (hI : ρ.finsupport x₀ ⊆ I) :
256
+ ∑ i in I, ρ i x₀ = 1 :=
257
+ ρ.toPartitionOfUnity.sum_finsupport' hx₀ hI
258
+
259
+ theorem sum_finsupport_smul_eq_finsum {A : Type *} [AddCommGroup A] [Module ℝ A] (φ : ι → M → A) :
260
+ ∑ i in ρ.finsupport x₀, ρ i x₀ • φ i x₀ = ∑ᶠ i, ρ i x₀ • φ i x₀ :=
261
+ ρ.toPartitionOfUnity.sum_finsupport_smul_eq_finsum φ
262
+
263
+ end finsupport
264
+
265
+ section fintsupport -- smooth partitions of unity have locally finite `tsupport`
266
+ variable {s : Set M} (ρ : SmoothPartitionOfUnity ι I M s) (x₀ : M)
267
+
268
+ /-- The `tsupport`s of a smooth partition of unity are locally finite. -/
269
+ theorem finite_tsupport : {i | x₀ ∈ tsupport (ρ i)}.Finite :=
270
+ ρ.toPartitionOfUnity.finite_tsupport _
271
+
272
+ /-- The tsupport of a partition of unity at a point `x₀` as a `Finset`.
273
+ This is the set of `i : ι` such that `x₀ ∈ tsupport f i`. -/
274
+ def fintsupport (x : M ): Finset ι :=
275
+ (ρ.finite_tsupport x).toFinset
276
+
277
+ theorem mem_fintsupport_iff (i : ι) : i ∈ ρ.fintsupport x₀ ↔ x₀ ∈ tsupport (ρ i) :=
278
+ Finite.mem_toFinset _
279
+
280
+ theorem eventually_fintsupport_subset :
281
+ ∀ᶠ y in 𝓝 x₀, ρ.fintsupport y ⊆ ρ.fintsupport x₀ :=
282
+ ρ.toPartitionOfUnity.eventually_fintsupport_subset _
283
+
284
+ theorem finsupport_subset_fintsupport : ρ.finsupport x₀ ⊆ ρ.fintsupport x₀ :=
285
+ ρ.toPartitionOfUnity.finsupport_subset_fintsupport x₀
286
+
287
+ theorem eventually_finsupport_subset : ∀ᶠ y in 𝓝 x₀, ρ.finsupport y ⊆ ρ.fintsupport x₀ :=
288
+ ρ.toPartitionOfUnity.eventually_finsupport_subset x₀
289
+
290
+ end fintsupport
291
+
292
+ section IsSubordinate
293
+
235
294
/-- A smooth partition of unity `f i` is subordinate to a family of sets `U i` indexed by the same
236
295
type if for each `i` the closure of the support of `f i` is a subset of `U i`. -/
237
296
def IsSubordinate (f : SmoothPartitionOfUnity ι I M s) (U : ι → Set M) :=
@@ -267,6 +326,8 @@ theorem IsSubordinate.smooth_finsum_smul {g : ι → M → F} (hf : f.IsSubordin
267
326
hf.contMDiff_finsum_smul ho hg
268
327
#align smooth_partition_of_unity.is_subordinate.smooth_finsum_smul SmoothPartitionOfUnity.IsSubordinate.smooth_finsum_smul
269
328
329
+ end IsSubordinate
330
+
270
331
end SmoothPartitionOfUnity
271
332
272
333
namespace BumpCovering
0 commit comments