# mathlibdocumentation

topology.tietze_extension

# Tietze extension theorem #

In this file we prove a few version of the Tietze extension theorem. The theorem says that a continuous function s → ℝ defined on a closed set in a normal topological space Y can be extended to a continuous function on the whole space. Moreover, if all values of the original function belong to some (finite or infinite, open or closed) interval, then the extension can be chosen so that it takes values in the same interval. In particular, if the original function is a bounded function, then there exists a bounded extension of the same norm.

The proof mostly follows https://ncatlab.org/nlab/show/Tietze+extension+theorem. We patch a small gap in the proof for unbounded functions, see exists_extension_forall_exists_le_ge_of_closed_embedding.

## Implementation notes #

We first prove the theorems for a closed embedding e : X → Y of a topological space into a normal topological space, then specialize them to the case X = s : set Y, e = coe.

## Tags #

Tietze extension theorem, Urysohn's lemma, normal topological space

theorem bounded_continuous_function.tietze_extension_step {X : Type u_1} {Y : Type u_2} [normal_space Y] (f : ) (e : C(X, Y)) (he : closed_embedding e) :
∃ (g : , g f / 3 f 2 / 3 * f

One step in the proof of the Tietze extension theorem. If e : C(X, Y) is a closed embedding of a topological space into a normal topological space and f : X →ᵇ ℝ is a bounded continuous function, then there exists a bounded continuous function g : Y →ᵇ ℝ of the norm ∥g∥ ≤ ∥f∥ / 3 such that the distance between g ∘ e and f is at most (2 / 3) * ∥f∥.

theorem bounded_continuous_function.exists_extension_norm_eq_of_closed_embedding' {X : Type u_1} {Y : Type u_2} [normal_space Y] (f : ) (e : C(X, Y)) (he : closed_embedding e) :
∃ (g : , g = f = f

Tietze extension theorem for real-valued bounded continuous maps, a version with a closed embedding and bundled composition. If e : C(X, Y) is a closed embedding of a topological space into a normal topological space and f : X →ᵇ ℝ is a bounded continuous function, then there exists a bounded continuous function g : Y →ᵇ ℝ of the same norm such that g ∘ e = f.

theorem bounded_continuous_function.exists_extension_norm_eq_of_closed_embedding {X : Type u_1} {Y : Type u_2} [normal_space Y] (f : ) {e : X → Y} (he : closed_embedding e) :
∃ (g : , g = f g e = f

Tietze extension theorem for real-valued bounded continuous maps, a version with a closed embedding and unbundled composition. If e : C(X, Y) is a closed embedding of a topological space into a normal topological space and f : X →ᵇ ℝ is a bounded continuous function, then there exists a bounded continuous function g : Y →ᵇ ℝ of the same norm such that g ∘ e = f.

theorem bounded_continuous_function.exists_norm_eq_restrict_eq_of_closed {Y : Type u_2} [normal_space Y] {s : set Y} (hs : is_closed s) :
∃ (g : , g = f g.restrict s = f

Tietze extension theorem for real-valued bounded continuous maps, a version for a closed set. If f is a bounded continuous real-valued function defined on a closed set in a normal topological space, then it can be extended to a bounded continuous function of the same norm defined on the whole space.

theorem bounded_continuous_function.exists_extension_forall_mem_Icc_of_closed_embedding {X : Type u_1} {Y : Type u_2} [normal_space Y] (f : ) {a b : } {e : X → Y} (hf : ∀ (x : X), f x b) (hle : a b) (he : closed_embedding e) :
∃ (g : , (∀ (y : Y), g y b) g e = f

Tietze extension theorem for real-valued bounded continuous maps, a version for a closed embedding and a bounded continuous function that takes values in a non-trivial closed interval. See also exists_extension_forall_mem_of_closed_embedding for a more general statement that works for any interval (finite or infinite, open or closed).

If e : X → Y is a closed embedding and f : X →ᵇ ℝ is a bounded continuous function such that f x ∈ [a, b] for all x, where a ≤ b, then there exists a bounded continuous function g : Y →ᵇ ℝ such that g y ∈ [a, b] for all y and g ∘ e = f.

theorem bounded_continuous_function.exists_extension_forall_exists_le_ge_of_closed_embedding {X : Type u_1} {Y : Type u_2} [normal_space Y] [nonempty X] (f : ) {e : X → Y} (he : closed_embedding e) :
∃ (g : , (∀ (y : Y), ∃ (x₁ x₂ : X), g y set.Icc (f x₁) (f x₂)) g e = f

Tietze extension theorem for real-valued bounded continuous maps, a version for a closed embedding. Let e be a closed embedding of a nonempty topological space X into a normal topological space Y. Let f be a bounded continuous real-valued function on X. Then there exists a bounded continuous function g : Y →ᵇ ℝ such that g ∘ e = f and each value g y belongs to a closed interval [f x₁, f x₂] for some x₁ and x₂.

theorem bounded_continuous_function.exists_extension_forall_mem_of_closed_embedding {X : Type u_1} {Y : Type u_2} [normal_space Y] (f : ) {t : set } {e : X → Y} [hs : t.ord_connected] (hf : ∀ (x : X), f x t) (hne : t.nonempty) (he : closed_embedding e) :
∃ (g : , (∀ (y : Y), g y t) g e = f

Tietze extension theorem for real-valued bounded continuous maps, a version for a closed embedding. Let e be a closed embedding of a nonempty topological space X into a normal topological space Y. Let f be a bounded continuous real-valued function on X. Let t be a nonempty convex set of real numbers (we use ord_connected instead of convex to automatically deduce this argument by typeclass search) such that f x ∈ t for all x. Then there exists a bounded continuous real-valued function g : Y →ᵇ ℝ such that g y ∈ t for all y and g ∘ e = f.

theorem bounded_continuous_function.exists_forall_mem_restrict_eq_of_closed {Y : Type u_2} [normal_space Y] {s : set Y} (hs : is_closed s) {t : set } [t.ord_connected] (hf : ∀ (x : s), f x t) (hne : t.nonempty) :
∃ (g : , (∀ (y : Y), g y t) g.restrict s = f

Tietze extension theorem for real-valued bounded continuous maps, a version for a closed set. Let s be a closed set in a normal topological space Y. Let f be a bounded continuous real-valued function on s. Let t be a nonempty convex set of real numbers (we use ord_connected instead of convex to automatically deduce this argument by typeclass search) such that f x ∈ t for all x : s. Then there exists a bounded continuous real-valued function g : Y →ᵇ ℝ such that g y ∈ t for all y and g.restrict s = f.

theorem continuous_map.exists_extension_forall_mem_of_closed_embedding {X : Type u_1} {Y : Type u_2} [normal_space Y] (f : C(X, )) {t : set } {e : X → Y} [hs : t.ord_connected] (hf : ∀ (x : X), f x t) (hne : t.nonempty) (he : closed_embedding e) :
∃ (g : C(Y, )), (∀ (y : Y), g y t) g e = f

Tietze extension theorem for real-valued continuous maps, a version for a closed embedding. Let e be a closed embedding of a nonempty topological space X into a normal topological space Y. Let f be a continuous real-valued function on X. Let t be a nonempty convex set of real numbers (we use ord_connected instead of convex to automatically deduce this argument by typeclass search) such that f x ∈ t for all x. Then there exists a continuous real-valued function g : C(Y, ℝ) such that g y ∈ t for all y and g ∘ e = f.

theorem continuous_map.exists_extension_of_closed_embedding {X : Type u_1} {Y : Type u_2} [normal_space Y] (f : C(X, )) (e : X → Y) (he : closed_embedding e) :
∃ (g : C(Y, )), g e = f

Tietze extension theorem for real-valued continuous maps, a version for a closed embedding. Let e be a closed embedding of a nonempty topological space X into a normal topological space Y. Let f be a continuous real-valued function on X. Then there exists a continuous real-valued function g : C(Y, ℝ) such that g ∘ e = f.

theorem continuous_map.exists_restrict_eq_forall_mem_of_closed {Y : Type u_2} [normal_space Y] {s : set Y} (f : C(s, )) {t : set } [t.ord_connected] (ht : ∀ (x : s), f x t) (hne : t.nonempty) (hs : is_closed s) :
∃ (g : C(Y, )), (∀ (y : Y), g y t)

Tietze extension theorem for real-valued continuous maps, a version for a closed set. Let s be a closed set in a normal topological space Y. Let f be a continuous real-valued function on s. Let t be a nonempty convex set of real numbers (we use ord_connected instead of convex to automatically deduce this argument by typeclass search) such that f x ∈ t for all x : s. Then there exists a continuous real-valued function g : C(Y, ℝ) such that g y ∈ t for all y and g.restrict s = f.

theorem continuous_map.exists_restrict_eq_of_closed {Y : Type u_2} [normal_space Y] {s : set Y} (f : C(s, )) (hs : is_closed s) :
∃ (g : C(Y, )),

Tietze extension theorem for real-valued continuous maps, a version for a closed set. Let s be a closed set in a normal topological space Y. Let f be a continuous real-valued function on s. Then there exists a continuous real-valued function g : C(Y, ℝ) such that g.restrict s = f.