A local diffeomorphism at a point is a partial diffeomorphism near it #
Mathlib defines IsLocalDiffeomorphAt I J n f x as the existence of a partial diffeomorphism
Φ with x ∈ Φ.source on whose source f agrees with Φ, but does not expose the definition
to importing modules, so a proof cannot destructure it.
IsLocalDiffeomorphAt.exists_partialDiffeomorph recovers the witness from Mathlib's
IsLocalDiffeomorphAt.localInverse: the inverse of an arbitrary local inverse of f at x. The
converse is Mathlib's PartialDiffeomorph.isLocalDiffeomorphAt.
A local diffeomorphism f at x agrees with a partial diffeomorphism Φ on the source of
Φ, a neighbourhood of x: the definition of IsLocalDiffeomorphAt, which Mathlib does not
expose; the witness is the inverse of hf.localInverse.
The converse: f is a local diffeomorphism at x when it agrees on the source of a partial
diffeomorphism Φ, a neighbourhood of x, with Φ. Mathlib's
PartialDiffeomorph.isLocalDiffeomorphAt is the case f = Φ; here f replaces Φ as the
forward map of Φ, which changes nothing on Φ.source.
A diffeomorphism as a partial diffeomorphism with source and target everything: Mathlib's
Diffeomorph.toPartialDiffeomorph, exposed, so that in an importing module its source and target
reduce to univ and its maps to those of the diffeomorphism (Mathlib exposes neither and has no
lemmas about it).
Equations
- g.toPartialDiffeomorphUniv = { toPartialEquiv := g.toHomeomorph.toPartialEquiv, open_source := ⋯, open_target := ⋯, contMDiffOn_toFun := ⋯, contMDiffOn_invFun := ⋯ }
Instances For
A bijective local diffeomorphism as a diffeomorphism, with f as its forward map: Mathlib's
IsLocalDiffeomorph.diffeomorphOfBijective, exposed, so that an importing module sees that the
forward map is f (Mathlib exposes neither the definition nor this fact). The inverse is a
right inverse g of f, which agrees with the inverse of each local inverse of f.
Equations
- One or more equations did not get rendered due to their size.