mathlib3 documentation

geometry.manifold.partition_of_unity

Smooth partition of unity #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

In this file we define two structures, smooth_bump_covering and smooth_partition_of_unity. Both structures describe coverings of a set by a locally finite family of supports of smooth functions with some additional properties. The former structure is mostly useful as an intermediate step in the construction of a smooth partition of unity but some proofs that traditionally deal with a partition of unity can use a smooth_bump_covering as well.

Given a real manifold M and its subset s, a smooth_bump_covering ι I M s is a collection of smooth_bump_functions f i indexed by i : ι such that

We say that f : smooth_bump_covering ι I M s is subordinate to a map U : M → set M if for each index i, we have tsupport (f i) ⊆ U (f i).c. This notion is a bit more general than being subordinate to an open covering of M, because we make no assumption about the way U x depends on x.

We prove that on a smooth finitely dimensional real manifold with σ-compact Hausdorff topology, for any U : M → set M such that ∀ x ∈ s, U x ∈ 𝓝 x there exists a smooth_bump_covering ι I M s subordinate to U. Then we use this fact to prove a similar statement about smooth partitions of unity, see smooth_partition_of_unity.exists_is_subordinate.

Finally, we use existence of a partition of unity to prove lemma exists_smooth_forall_mem_convex_of_local that allows us to construct a globally defined smooth function from local functions.

TODO #

Tags #

smooth bump function, partition of unity

Covering by supports of smooth bump functions #

In this section we define smooth_bump_covering ι I M s to be a collection of smooth_bump_functions such that their supports is a locally finite family of sets and for each x ∈ s some function f i from the collection is equal to 1 in a neighborhood of x. A covering of this type is useful to construct a smooth partition of unity and can be used instead of a partition of unity in some proofs.

We prove that on a smooth finite dimensional real manifold with σ-compact Hausdorff topology, for any U : M → set M such that ∀ x ∈ s, U x ∈ 𝓝 x there exists a smooth_bump_covering ι I M s subordinate to U. Then we use this fact to prove a version of the Whitney embedding theorem: any compact real manifold can be embedded into ℝ^n for large enough n.

@[nolint]

We say that a collection of smooth_bump_functions is a smooth_bump_covering of a set s if

  • (f i).c ∈ s for all i;
  • the family λ i, support (f i) is locally finite;
  • for each point x ∈ s there exists i such that f i =ᶠ[𝓝 x] 1; in other words, x belongs to the interior of {y | f i y = 1};

If M is a finite dimensional real manifold which is a σ-compact Hausdorff topological space, then for every covering U : M → set M, ∀ x, U x ∈ 𝓝 x, there exists a smooth_bump_covering subordinate to U, see smooth_bump_covering.exists_is_subordinate.

This covering can be used, e.g., to construct a partition of unity and to prove the weak Whitney embedding theorem.

Instances for smooth_bump_covering

We say that that a collection of functions form a smooth partition of unity on a set s if

  • all functions are infinitely smooth and nonnegative;
  • the family λ i, support (f i) is locally finite;
  • for all x ∈ s the sum ∑ᶠ i, f i x equals one;
  • for all x, the sum ∑ᶠ i, f i x is less than or equal to one.
Instances for smooth_partition_of_unity
theorem smooth_partition_of_unity.sum_eq_one {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (f : smooth_partition_of_unity ι I M s) {x : M} (hx : x s) :
finsum (λ (i : ι), (f i) x) = 1

Reinterpret a smooth partition of unity as a continuous partition of unity.

Equations
theorem smooth_partition_of_unity.cont_mdiff_finsum_smul {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {F : Type uF} [normed_add_comm_group F] [normed_space F] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (f : smooth_partition_of_unity ι I M s) {n : ℕ∞} {g : ι M F} (hg : (i : ι) (x : M), x tsupport (f i) cont_mdiff_at I (model_with_corners_self F) n (g i) x) :
cont_mdiff I (model_with_corners_self F) n (λ (x : M), finsum (λ (i : ι), (f i) x g i x))

If f is a smooth partition of unity on a set s : set M and g : ι → M → F is a family of functions such that g i is $C^n$ smooth at every point of the topological support of f i, then the sum λ x, ∑ᶠ i, f i x • g i x is smooth on the whole manifold.

theorem smooth_partition_of_unity.smooth_finsum_smul {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {F : Type uF} [normed_add_comm_group F] [normed_space F] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (f : smooth_partition_of_unity ι I M s) {g : ι M F} (hg : (i : ι) (x : M), x tsupport (f i) smooth_at I (model_with_corners_self F) (g i) x) :
smooth I (model_with_corners_self F) (λ (x : M), finsum (λ (i : ι), (f i) x g i x))

If f is a smooth partition of unity on a set s : set M and g : ι → M → F is a family of functions such that g i is smooth at every point of the topological support of f i, then the sum λ x, ∑ᶠ i, f i x • g i x is smooth on the whole manifold.

theorem smooth_partition_of_unity.finsum_smul_mem_convex {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {F : Type uF} [normed_add_comm_group F] [normed_space F] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (f : smooth_partition_of_unity ι I M s) {g : ι M F} {t : set F} {x : M} (hx : x s) (hg : (i : ι), (f i) x 0 g i x t) (ht : convex t) :
finsum (λ (i : ι), (f i) x g i x) t

A smooth partition of unity f i is subordinate to a family of sets U i indexed by the same type if for each i the closure of the support of f i is a subset of U i.

Equations
theorem smooth_partition_of_unity.is_subordinate.cont_mdiff_finsum_smul {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {F : Type uF} [normed_add_comm_group F] [normed_space F] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} {f : smooth_partition_of_unity ι I M s} {n : ℕ∞} {U : ι set M} {g : ι M F} (hf : f.is_subordinate U) (ho : (i : ι), is_open (U i)) (hg : (i : ι), cont_mdiff_on I (model_with_corners_self F) n (g i) (U i)) :
cont_mdiff I (model_with_corners_self F) n (λ (x : M), finsum (λ (i : ι), (f i) x g i x))

If f is a smooth partition of unity on a set s : set M subordinate to a family of open sets U : ι → set M and g : ι → M → F is a family of functions such that g i is $C^n$ smooth on U i, then the sum λ x, ∑ᶠ i, f i x • g i x is $C^n$ smooth on the whole manifold.

theorem smooth_partition_of_unity.is_subordinate.smooth_finsum_smul {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {F : Type uF} [normed_add_comm_group F] [normed_space F] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} {f : smooth_partition_of_unity ι I M s} {U : ι set M} {g : ι M F} (hf : f.is_subordinate U) (ho : (i : ι), is_open (U i)) (hg : (i : ι), smooth_on I (model_with_corners_self F) (g i) (U i)) :
smooth I (model_with_corners_self F) (λ (x : M), finsum (λ (i : ι), (f i) x g i x))

If f is a smooth partition of unity on a set s : set M subordinate to a family of open sets U : ι → set M and g : ι → M → F is a family of functions such that g i is smooth on U i, then the sum λ x, ∑ᶠ i, f i x • g i x is smooth on the whole manifold.

A bump_covering such that all functions in this covering are smooth generates a smooth partition of unity.

In our formalization, not every f : bump_covering ι M s with smooth functions f i is a smooth_bump_covering; instead, a smooth_bump_covering is a covering by supports of smooth_bump_functions. So, we define bump_covering.to_smooth_partition_of_unity, then reuse it in smooth_bump_covering.to_smooth_partition_of_unity.

Equations
@[simp]
theorem smooth_bump_covering.coe_mk {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (c : ι M) (to_fun : Π (i : ι), smooth_bump_function I (c i)) (h₁ : (i : ι), c i s) (h₂ : locally_finite (λ (i : ι), function.support (to_fun i))) (h₃ : (x : M), x s ( (i : ι), (to_fun i) =ᶠ[nhds x] 1)) :
{c := c, to_fun := to_fun, c_mem' := h₁, locally_finite' := h₂, eventually_eq_one' := h₃} = to_fun

We say that f : smooth_bump_covering ι I M s is subordinate to a map U : M → set M if for each index i, we have tsupport (f i) ⊆ U (f i).c. This notion is a bit more general than being subordinate to an open covering of M, because we make no assumption about the way U x depends on x.

Equations

Let M be a smooth manifold with corners modelled on a finite dimensional real vector space. Suppose also that M is a Hausdorff σ-compact topological space. Let s be a closed set in M and U : M → set M be a collection of sets such that U x ∈ 𝓝 x for every x ∈ s. Then there exists a smooth bump covering of s that is subordinate to U.

@[protected]
theorem smooth_bump_covering.point_finite {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (fs : smooth_bump_covering ι I M s) (x : M) :
{i : ι | (fs i) x 0}.finite
noncomputable def smooth_bump_covering.ind {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (fs : smooth_bump_covering ι I M s) (x : M) (hx : x s) :
ι

Index of a bump function such that fs i =ᶠ[𝓝 x] 1.

Equations
theorem smooth_bump_covering.eventually_eq_one {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (fs : smooth_bump_covering ι I M s) (x : M) (hx : x s) :
(fs (fs.ind x hx)) =ᶠ[nhds x] 1
theorem smooth_bump_covering.apply_ind {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (fs : smooth_bump_covering ι I M s) (x : M) (hx : x s) :
(fs (fs.ind x hx)) x = 1
@[protected]

The index type of a smooth_bump_covering of a compact manifold is finite.

Equations

Reinterpret a smooth_bump_covering as a continuous bump_covering. Note that not every f : bump_covering ι M s with smooth functions f i is a smooth_bump_covering.

Equations
theorem smooth_bump_covering.to_smooth_partition_of_unity_eq_mul_prod {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] {I : model_with_corners E H} {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] {s : set M} (fs : smooth_bump_covering ι I M s) [t2_space M] (i : ι) (x : M) (t : finset ι) (ht : (j : ι), well_ordering_rel j i (fs j) x 0 j t) :
((fs.to_smooth_partition_of_unity) i) x = (fs i) x * (finset.filter (λ (j : ι), well_ordering_rel j i) t).prod (λ (j : ι), 1 - (fs j) x)

Given two disjoint closed sets in a Hausdorff σ-compact finite dimensional manifold, there exists an infinitely smooth function that is equal to 0 on one of them and is equal to one on the other.

A smooth_partition_of_unity that consists of a single function, uniformly equal to one, defined as an example for inhabited instance.

Equations
theorem smooth_partition_of_unity.exists_is_subordinate {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] (I : model_with_corners E H) {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] [t2_space M] [sigma_compact_space M] {s : set M} (hs : is_closed s) (U : ι set M) (ho : (i : ι), is_open (U i)) (hU : s (i : ι), U i) :

If X is a paracompact normal topological space and U is an open covering of a closed set s, then there exists a bump_covering ι X s that is subordinate to U.

theorem exists_cont_mdiff_forall_mem_convex_of_local {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {F : Type uF} [normed_add_comm_group F] [normed_space F] {H : Type uH} [topological_space H] (I : model_with_corners E H) {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] [sigma_compact_space M] [t2_space M] {t : M set F} {n : ℕ∞} (ht : (x : M), convex (t x)) (Hloc : (x : M), (U : set M) (H_1 : U nhds x) (g : M F), cont_mdiff_on I (model_with_corners_self F) n g U (y : M), y U g y t y) :
(g : cont_mdiff_map I (model_with_corners_self F) M F n), (x : M), g x t x

Let M be a σ-compact Hausdorff finite dimensional topological manifold. Let t : M → set F be a family of convex sets. Suppose that for each point x : M there exists a neighborhood U ∈ 𝓝 x and a function g : M → F such that g is $C^n$ smooth on U and g y ∈ t y for all y ∈ U. Then there exists a $C^n$ smooth function g : C^∞⟮I, M; 𝓘(ℝ, F), F⟯ such that g x ∈ t x for all x. See also exists_smooth_forall_mem_convex_of_local and exists_smooth_forall_mem_convex_of_local_const.

theorem exists_smooth_forall_mem_convex_of_local {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {F : Type uF} [normed_add_comm_group F] [normed_space F] {H : Type uH} [topological_space H] (I : model_with_corners E H) {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] [sigma_compact_space M] [t2_space M] {t : M set F} (ht : (x : M), convex (t x)) (Hloc : (x : M), (U : set M) (H_1 : U nhds x) (g : M F), smooth_on I (model_with_corners_self F) g U (y : M), y U g y t y) :
(g : cont_mdiff_map I (model_with_corners_self F) M F ), (x : M), g x t x

Let M be a σ-compact Hausdorff finite dimensional topological manifold. Let t : M → set F be a family of convex sets. Suppose that for each point x : M there exists a neighborhood U ∈ 𝓝 x and a function g : M → F such that g is smooth on U and g y ∈ t y for all y ∈ U. Then there exists a smooth function g : C^∞⟮I, M; 𝓘(ℝ, F), F⟯ such that g x ∈ t x for all x. See also exists_cont_mdiff_forall_mem_convex_of_local and exists_smooth_forall_mem_convex_of_local_const.

theorem exists_smooth_forall_mem_convex_of_local_const {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {F : Type uF} [normed_add_comm_group F] [normed_space F] {H : Type uH} [topological_space H] (I : model_with_corners E H) {M : Type uM} [topological_space M] [charted_space H M] [smooth_manifold_with_corners I M] [sigma_compact_space M] [t2_space M] {t : M set F} (ht : (x : M), convex (t x)) (Hloc : (x : M), (c : F), ∀ᶠ (y : M) in nhds x, c t y) :
(g : cont_mdiff_map I (model_with_corners_self F) M F ), (x : M), g x t x

Let M be a σ-compact Hausdorff finite dimensional topological manifold. Let t : M → set F be a family of convex sets. Suppose that for each point x : M there exists a vector c : F such that for all y in a neighborhood of x we have c ∈ t y. Then there exists a smooth function g : C^∞⟮I, M; 𝓘(ℝ, F), F⟯ such that g x ∈ t x for all x. See also exists_cont_mdiff_forall_mem_convex_of_local and exists_smooth_forall_mem_convex_of_local.

theorem emetric.exists_smooth_forall_closed_ball_subset {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] (I : model_with_corners E H) {M : Type u_1} [emetric_space M] [charted_space H M] [smooth_manifold_with_corners I M] [sigma_compact_space M] {K U : ι set M} (hK : (i : ι), is_closed (K i)) (hU : (i : ι), is_open (U i)) (hKU : (i : ι), K i U i) (hfin : locally_finite K) :
(δ : cont_mdiff_map I (model_with_corners_self ) M ), ( (x : M), 0 < δ x) (i : ι) (x : M), x K i emetric.closed_ball x (ennreal.of_real (δ x)) U i

Let M be a smooth σ-compact manifold with extended distance. Let K : ι → set M be a locally finite family of closed sets, let U : ι → set M be a family of open sets such that K i ⊆ U i for all i. Then there exists a positive smooth function δ : M → ℝ≥0 such that for any i and x ∈ K i, we have emetric.closed_ball x (δ x) ⊆ U i.

theorem metric.exists_smooth_forall_closed_ball_subset {ι : Type uι} {E : Type uE} [normed_add_comm_group E] [normed_space E] [finite_dimensional E] {H : Type uH} [topological_space H] (I : model_with_corners E H) {M : Type u_1} [metric_space M] [charted_space H M] [smooth_manifold_with_corners I M] [sigma_compact_space M] {K U : ι set M} (hK : (i : ι), is_closed (K i)) (hU : (i : ι), is_open (U i)) (hKU : (i : ι), K i U i) (hfin : locally_finite K) :
(δ : cont_mdiff_map I (model_with_corners_self ) M ), ( (x : M), 0 < δ x) (i : ι) (x : M), x K i metric.closed_ball x (δ x) U i

Let M be a smooth σ-compact manifold with a metric. Let K : ι → set M be a locally finite family of closed sets, let U : ι → set M be a family of open sets such that K i ⊆ U i for all i. Then there exists a positive smooth function δ : M → ℝ≥0 such that for any i and x ∈ K i, we have metric.closed_ball x (δ x) ⊆ U i.