Dense embeddings
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 regular (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).
f : α → β
has dense range if its range (image) is a dense subset of β.
Equations
- dense_range f = ∀ (x : β), x ∈ closure (set.range f)
If f : α → β
has dense range and β
contains some element, then α
must too.
Equations
- df.inhabited b = {default := classical.choice _}
- 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 β
.
The product of two dense inducings is a dense inducing
γ -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
- to_dense_inducing : dense_inducing e
- inj : function.injective e
A dense embedding is an embedding with dense image.
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.