Local homeomorphisms
This file defines homeomorphisms between open subsets of topological spaces. An element e
of
local_homeomorph α β
is an extension of local_equiv α β
, i.e., it is a pair of functions
e.to_fun
and e.inv_fun
, inverse of each other on the sets e.source
and e.target
.
Additionally, we require that these sets are open, and that the functions are continuous on them.
Equivalently, they are homeomorphisms there.
As in equivs, we register a coercion to functions, and we use e x
and e.symm x
throughout
instead of e.to_fun x
and e.inv_fun x
.
Main definitions
homeomorph.to_local_homeomorph
: associating a local homeomorphism to a homeomorphism, with
source = target = univ
local_homeomorph.symm
: the inverse of a local homeomorphism
local_homeomorph.trans
: the composition of two local homeomorphisms
local_homeomorph.refl
: the identity local homeomorphism
local_homeomorph.of_set
: the identity on a set s
eq_on_source
: equivalence relation describing the "right" notion of equality for local
homeomorphisms
Implementation notes
Most statements are copied from their local_equiv versions, although some care is required especially when restricting to subsets, as these should be open subsets.
For design notes, see local_equiv.lean
.
- to_local_equiv : local_equiv α β
- open_source : is_open c.to_local_equiv.source
- open_target : is_open c.to_local_equiv.target
- continuous_to_fun : continuous_on c.to_local_equiv.to_fun c.to_local_equiv.source
- continuous_inv_fun : continuous_on c.to_local_equiv.inv_fun c.to_local_equiv.target
local homeomorphisms, defined on open subsets of the space
A homeomorphism induces a local homeomorphism on the whole space
Equations
- e.to_local_homeomorph = {to_local_equiv := {to_fun := e.to_equiv.to_local_equiv.to_fun, inv_fun := e.to_equiv.to_local_equiv.inv_fun, source := e.to_equiv.to_local_equiv.source, target := e.to_equiv.to_local_equiv.target, map_source' := _, map_target' := _, left_inv' := _, right_inv' := _}, open_source := _, open_target := _, continuous_to_fun := _, continuous_inv_fun := _}
Equations
- local_homeomorph.has_coe_to_fun = {F := λ (e : local_homeomorph α β), α → β, coe := λ (e : local_homeomorph α β), e.to_local_equiv.to_fun}
The inverse of a local homeomorphism
Equations
- e.symm = {to_local_equiv := {to_fun := e.to_local_equiv.symm.to_fun, inv_fun := e.to_local_equiv.symm.inv_fun, source := e.to_local_equiv.symm.source, target := e.to_local_equiv.symm.target, map_source' := _, map_target' := _, left_inv' := _, right_inv' := _}, open_source := _, open_target := _, continuous_to_fun := _, continuous_inv_fun := _}
Two local homeomorphisms are equal when they have equal to_fun
, inv_fun
and source
.
It is not sufficient to have equal to_fun
and source
, as this only determines inv_fun
on
the target. This would only be true for a weaker notion of equality, arguably the right one,
called eq_on_source
.
A local homeomorphism is continuous at any point of its source
A local homeomorphism inverse is continuous at any point of its target
Preimage of interior or interior of preimage coincide for local homeomorphisms, when restricted to the source.
The image of an open set in the source is open.
The image of the restriction of an open set to the source is open.
Restricting a local homeomorphism e
to e.source ∩ s
when s
is open. This is sometimes hard
to use because of the openness assumption, but it has the advantage that when it can
be used then its local_equiv is defeq to local_equiv.restr
Equations
- e.restr_open s hs = {to_local_equiv := {to_fun := (e.to_local_equiv.restr s).to_fun, inv_fun := (e.to_local_equiv.restr s).inv_fun, source := (e.to_local_equiv.restr s).source, target := (e.to_local_equiv.restr s).target, map_source' := _, map_target' := _, left_inv' := _, right_inv' := _}, open_source := _, open_target := _, continuous_to_fun := _, continuous_inv_fun := _}
Restricting a local homeomorphism e
to e.source ∩ interior s
. We use the interior to make
sure that the restriction is well defined whatever the set s, since local homeomorphisms are by
definition defined on open sets. In applications where s
is open, this coincides with the
restriction of local equivalences
Equations
- e.restr s = e.restr_open (interior s) is_open_interior
The identity on the whole space as a local homeomorphism.
Equations
The identity local equiv on a set s
Equations
- local_homeomorph.of_set s hs = {to_local_equiv := {to_fun := (local_equiv.of_set s).to_fun, inv_fun := (local_equiv.of_set s).inv_fun, source := (local_equiv.of_set s).source, target := (local_equiv.of_set s).target, map_source' := _, map_target' := _, left_inv' := _, right_inv' := _}, open_source := hs, open_target := hs, continuous_to_fun := _, continuous_inv_fun := _}
Composition of two local homeomorphisms when the target of the first and the source of the second coincide.
Equations
- e.trans' e' h = {to_local_equiv := {to_fun := (e.to_local_equiv.trans' e'.to_local_equiv h).to_fun, inv_fun := (e.to_local_equiv.trans' e'.to_local_equiv h).inv_fun, source := (e.to_local_equiv.trans' e'.to_local_equiv h).source, target := (e.to_local_equiv.trans' e'.to_local_equiv h).target, map_source' := _, map_target' := _, left_inv' := _, right_inv' := _}, open_source := _, open_target := _, continuous_to_fun := _, continuous_inv_fun := _}
Composing two local homeomorphisms, by restricting to the maximal domain where their composition is well defined.
Equations
- e.trans e' = (e.symm.restr_open e'.to_local_equiv.source _).symm.trans' (e'.restr_open e.to_local_equiv.target _) _
eq_on_source e e'
means that e
and e'
have the same source, and coincide there. They
should really be considered the same local equiv.
Equations
- e.eq_on_source e' = (e.to_local_equiv.source = e'.to_local_equiv.source ∧ set.eq_on ⇑e ⇑e' e.to_local_equiv.source)
eq_on_source
is an equivalence relation
Equations
- local_homeomorph.setoid = {r := local_homeomorph.eq_on_source _inst_2, iseqv := _}
If two local homeomorphisms are equivalent, so are their inverses
Two equivalent local homeomorphisms have the same source
Two equivalent local homeomorphisms have the same target
Two equivalent local homeomorphisms have coinciding to_fun
on the source
Two equivalent local homeomorphisms have coinciding inv_fun
on the target
Composition of local homeomorphisms respects equivalence
Restriction of local homeomorphisms respects equivalence
Composition of a local homeomorphism and its inverse is equivalent to the restriction of the identity to the source
The product of two local homeomorphisms, as a local homeomorphism on the product space.
Equations
- e.prod e' = {to_local_equiv := {to_fun := (e.to_local_equiv.prod e'.to_local_equiv).to_fun, inv_fun := (e.to_local_equiv.prod e'.to_local_equiv).inv_fun, source := (e.to_local_equiv.prod e'.to_local_equiv).source, target := (e.to_local_equiv.prod e'.to_local_equiv).target, map_source' := _, map_target' := _, left_inv' := _, right_inv' := _}, open_source := _, open_target := _, continuous_to_fun := _, continuous_inv_fun := _}
Continuity within a set at a point can be read under right composition with a local homeomorphism, if the point is in its target
Continuity at a point can be read under right composition with a local homeomorphism, if the point is in its target
A function is continuous on a set if and only if its composition with a local homeomorphism on the right is continuous on the corresponding set.
Continuity within a set at a point can be read under left composition with a local homeomorphism if a neighborhood of the initial point is sent to the source of the local homeomorphism
Continuity at a point can be read under left composition with a local homeomorphism if a neighborhood of the initial point is sent to the source of the local homeomorphism
A function is continuous on a set if and only if its composition with a local homeomorphism on the left is continuous on the corresponding set.
If a local homeomorphism has source and target equal to univ, then it induces a homeomorphism between the whole spaces, expressed in this definition.
Equations
- e.to_homeomorph_of_source_eq_univ_target_eq_univ h h' = {to_equiv := {to_fun := ⇑e, inv_fun := ⇑(e.symm), left_inv := _, right_inv := _}, continuous_to_fun := _, continuous_inv_fun := _}
A local homeomorphism whose source is all of α
defines an open embedding of α
into β
. The
converse is also true; see open_embedding.to_local_homeomorph
.
An open embedding of α
into β
, with α
nonempty, defines a local equivalence whose source
is all of α
. This is mainly an auxiliary lemma for the stronger result to_local_homeomorph
.
Equations
An open embedding of α
into β
, with α
nonempty, defines a local homeomorphism whose source
is all of α
. The converse is also true; see local_homeomorph.to_open_embedding
.
Equations
- h.to_local_homeomorph = {to_local_equiv := h.to_local_equiv, open_source := _, open_target := _, continuous_to_fun := _, continuous_inv_fun := _}
The inclusion of an open subset s
of a space α
into α
is a local homeomorphism from the
subtype s
to α
.
Equations
The restriction of a local homeomorphism e
to an open subset s
of the domain type produces a
local homeomorphism whose domain is the subtype s
.