Module docstring
{"# Partial homeomorphisms
This file defines homeomorphisms between open subsets of topological spaces. An element e of
PartialHomeomorph 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
Homeomorph.toPartialHomeomorph: associating a partial homeomorphism to a homeomorphism, withsource = target = Set.univ;PartialHomeomorph.symm: the inverse of a partial homeomorphismPartialHomeomorph.trans: the composition of two partial homeomorphismsPartialHomeomorph.refl: the identity partial homeomorphismPartialHomeomorph.const: a partial homeomorphism which is a constant map, whose source and target are necessarily singleton setsPartialHomeomorph.ofSet: the identity on a setsPartialHomeomorph.restr s: restrict a partial homeomorphismetoe.source ∩ interior sPartialHomeomorph.EqOnSource: equivalence relation describing the \"right\" notion of equality for partial homeomorphismsPartialHomeomorph.prod: the product of two partial homeomorphisms, as a partial homeomorphism on the product spacePartialHomeomorph.pi: the product of a finite family of partial homeomorphismsPartialHomeomorph.disjointUnion: combine two partial homeomorphisms with disjoint sources and disjoint targetsPartialHomeomorph.lift_openEmbedding: extend a partial homeomorphismX → Yunder an open embeddingX → X', to a partial homeomorphismX' → Z. (This is used to define the disjoint union of charted spaces.)
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.
","Basic properties; inverse (symm instance) ","### PartialHomeomorph.IsImage relation
We say that t : Set Y is an image of s : Set X under a partial homeomorphism e if any of the
following equivalent conditions hold:
e '' (e.source ∩ s) = e.target ∩ t;e.source ∩ e ⁻¹ t = e.source ∩ s;∀ x ∈ e.source, e x ∈ t ↔ x ∈ s(this one is used in the definition).
This definition is a restatement of PartialEquiv.IsImage for partial homeomorphisms.
In this section we transfer API about PartialEquiv.IsImage to partial homeomorphisms and
add a few PartialHomeomorph-specific lemmas like PartialHomeomorph.IsImage.closure.
","const: PartialEquiv.const as a partial homeomorphism ","ofSet: the identity on a set s ","trans: composition of two partial homeomorphisms ","EqOnSource: equivalence on their source ","product of two partial homeomorphisms ","finite product of partial homeomorphisms ","combining two partial homeomorphisms using Set.piecewise ","inclusion of an open set in a topological space ","subtypeRestr: restriction to a subtype "}