Dense embeddings #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines three properties of functions:
dense_range f
meansf
has dense image;dense_inducing i
meansi
is alsoinducing
;dense_embedding e
meanse
is also anembedding
.
The main theorem continuous_extend
gives a criterion for a function
f : X → Z
to a T₃ space Z to extend along a dense embedding
i : X → Y
to a continuous function g : Y → Z
. Actually i
only
has to be dense_inducing
(not necessarily injective).
- to_inducing : inducing i
- dense : dense_range i
i : α → β
is "dense inducing" if it has dense range and the topology on α
is the one induced by i
from the topology on β
.
If i : α → β
is a dense embedding with dense complement of the range, then any compact set in
α
has empty interior.
The product of two dense inducings is a dense inducing
If the domain of a dense_inducing
map is a separable space, then so is the codomain.
γ -f→ α
g↓ ↓e
δ -h→ β
If i : α → β
is a dense inducing, then any function f : α → γ
"extends"
to a function g = extend di f : β → γ
. If γ
is Hausdorff and f
has a
continuous extension, then g
is the unique such extension. In general,
g
might not be continuous or even extend f
.
Equations
- di.extend f b = lim (filter.comap i (nhds b)) f
Variation of extend_eq
where we ask that f
has a limit along comap i (𝓝 b)
for each
b : β
. This is a strictly stronger assumption than continuity of f
, but in a lot of cases
you'd have to prove it anyway to use continuous_extend
, so this avoids doing the work twice.
- to_dense_inducing : dense_inducing e
- inj : function.injective e
A dense embedding is an embedding with dense image.
If the domain of a dense_embedding
is a separable space, then so is its codomain.
The product of two dense embeddings is a dense embedding.
The dense embedding of a subtype inside its closure.
Equations
- dense_embedding.subtype_emb p e x = ⟨e ↑x, _⟩
Two continuous functions to a t2-space that agree on the dense range of a function are equal.