Partial homeomorphisms: definitions #
This file defines homeomorphisms between open subsets of topological spaces. An element e of
OpenPartialHomeomorph X Y is an extension of PartialEquiv X Y, i.e., it is a pair of functions
e.toFun and e.invFun, 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.toFun x and e.invFun x.
Main definitions #
This file is intentionally kept small; many other constructions of, and lemmas about,
partial homeomorphisms can be found in other files under Mathlib/Topology/PartialHomeomorph/.
Homeomorph.toOpenPartialHomeomorph: associating an open partial homeomorphism to a homeomorphism, withsource = target = Set.univ;OpenPartialHomeomorph.symm: the inverse of an open partial homeomorphism
Implementation notes #
Most statements are copied from their PartialEquiv versions, although some care is required
especially when restricting to subsets, as these should be open subsets.
For design notes, see PartialEquiv.lean.
Local coding conventions #
If a lemma deals with the intersection of a set with either source or target of a PartialEquiv,
then it should use e.source ∩ s or e.target ∩ t, not s ∩ e.source or t ∩ e.target.
Partial homeomorphisms, defined on open subsets of the space
- toFun : X → Y
- invFun : Y → X
- continuousOn_toFun : ContinuousOn (↑self.toPartialEquiv) self.source
- continuousOn_invFun : ContinuousOn self.invFun self.target
Instances For
Alias of OpenPartialHomeomorph.
Partial homeomorphisms, defined on open subsets of the space
Equations
Instances For
Basic properties; inverse (symm instance)
Coercion of an open partial homeomorphisms to a function. We don't use e.toFun because it is
actually e.toPartialEquiv.toFun, so simp will apply lemmas about toPartialEquiv.
While we may want to switch to this behavior later, doing it mid-port will break a lot of proofs.
Equations
- ↑e = ↑e.toPartialEquiv
Instances For
Coercion of an OpenPartialHomeomorph to function.
Note that an OpenPartialHomeomorph is not DFunLike.
Equations
- OpenPartialHomeomorph.instCoeFunForall = { coe := fun (e : OpenPartialHomeomorph X Y) => ↑e }
The inverse of an open partial homeomorphism
Equations
Instances For
See Note [custom simps projection]. We need to specify this projection explicitly in this case, because it is a composition of multiple projections.
Equations
Instances For
See Note [custom simps projection]
Equations
Instances For
Variant of map_source, stated for images of subsets of source.
Interpret a Homeomorph as an OpenPartialHomeomorph by restricting it
to an open set s in the domain and to t in the codomain.
Equations
- e.toOpenPartialHomeomorphOfImageEq s hs t h = { toPartialEquiv := e.toPartialEquivOfImageEq s t h, open_source := hs, open_target := ⋯, continuousOn_toFun := ⋯, continuousOn_invFun := ⋯ }
Instances For
Alias of Homeomorph.toOpenPartialHomeomorphOfImageEq.
Interpret a Homeomorph as an OpenPartialHomeomorph by restricting it
to an open set s in the domain and to t in the codomain.
Instances For
A homeomorphism induces an open partial homeomorphism on the whole space
Equations
Instances For
Alias of Homeomorph.toOpenPartialHomeomorph.
A homeomorphism induces an open partial homeomorphism on the whole space
Instances For
Replace toPartialEquiv field to provide better definitional equalities.
Equations
- e.replaceEquiv e' h = { toPartialEquiv := e', open_source := ⋯, open_target := ⋯, continuousOn_toFun := ⋯, continuousOn_invFun := ⋯ }
Instances For
Two open partial homeomorphisms are equal when they have equal toFun, invFun and source.
It is not sufficient to have equal toFun and source, as this only determines invFun on
the target. This would only be true for a weaker notion of equality, arguably the right one,
called EqOnSource.