@@ -14,7 +14,26 @@ Given a map `f : M → N` between manifolds, we call `x` and *immersed point* of
1414the `mfderiv` of `f` at `x` *splits* , i.e. admits a continuous left inverse. (If `M` is
1515finite-dimensional, this is equivalent to injectivity of the the `mfderiv`.)
1616
17- TODO: add detailed module doc-string!
17+ A future PR will show that `x` is an immersed point of `x` if and only if `f` is an immersion
18+ at `x`: the composition property of immersed can be used to prove that immersions compose.
19+
20+
21+ ## Main definitions and results
22+
23+ * `IsImmersedPoint`: `x` is an *immersed point* of `f` iff `mfderiv I J f x` has a continuous left
24+ inverse
25+ * `IsLocalDiffeomorphAt.isImmersedPoint`: if `f` is a local diffeomorphism at `x`, then `x` is an
26+ immersed point of `f`
27+ * `IsImmersedPoint.comp`: if `x` is an immersed point of `f` and `f x` is an immersed point of `g`,
28+ then `x` is an immersed point of `g ∘ f`
29+ * `IsImmersedPoint.of_comp`: if `g ∘ f` has immersed point `x`, then (assuming `f` and `g` are
30+ differentiable at `x` resp. `f x`), then `x` also an immersed point of `f`.
31+ * `IsImmersedPoint.of_injective_of_finiteDimensional`: if `f : M → N` has injective `mfderiv` at `x`
32+ and `N` is finite-dimensional, then `x` is an immersed point of `f`.
33+
34+ ## TODO
35+ * `IsImmersedPoint.prodMap`: if `x` is an immersed point of `f` and `y` is an immersed point of `g`,
36+ then `(x, y)` is an immersed point of `f × g`.
1837
1938 -/
2039
@@ -133,6 +152,9 @@ lemma prodMap {y : N} (hf : IsImmersedPoint I I' f x) {g : N → N'} (hg : IsImm
133152 · convert hg'.comp (x, y) mdifferentiableAt_snd
134153 convert hf.prodMap hg
135154 simp only [Prod.map_apply, Prod.map_fst, Prod.map_snd]
155+ -- missing simp lemmas: tangent vectors in a product manifold;
156+ -- mfderiv f.prodMap mfderiv g (X,Y) = "(mfderiv f X, mfderiv Y)"
157+ -- then deduce the following result -> make a follow-up!
136158 -- missing simp lemma!
137159 sorry
138160
@@ -151,48 +173,6 @@ lemma prodMap {y : N} (hf : IsImmersedPoint I I' f x) {g : N → N'} (hg : IsImm
151173
152174-- end
153175
154- -- This section needs redoing/might be fully obsolete anyway!
155- section
156-
157- variable [IsManifold I 1 M] {e : OpenPartialHomeomorph M H} {x : M}
158-
159- /-- The `mfderiv` of an extended chart is a local diffeomorphism. -/
160- -- XXX: proven on a prior version of #9273; without any assumptions on the boundary
161- def extendMfderivToContinousLinearEquiv
162- (he : e ∈ IsManifold.maximalAtlas I n M) (hx : x ∈ (chartAt H x).source) :
163- ContinuousLinearEquiv (RingHom.id 𝕜) (TangentSpace I x) E := sorry
164-
165- @ [simp, mfld_simps]
166- lemma extendMfderivToContinousLinearEquiv_coe
167- (he : e ∈ IsManifold.maximalAtlas I n M) (hx : x ∈ (chartAt H x).source) :
168- (extendMfderivToContinousLinearEquiv he hx).toContinuousLinearMap =
169- mfderiv I (modelWithCornersSelf 𝕜 E) (e.extend I) x :=
170- sorry -- rfl
171-
172- def extend_symm_mfderivToContinousLinearEquiv
173- (he : e ∈ IsManifold.maximalAtlas I n M) (hx : x ∈ (chartAt H x).source) :
174- ContinuousLinearEquiv (RingHom.id 𝕜) E (TangentSpace I x) := sorry
175-
176- @ [simp, mfld_simps]
177- lemma extend_symm_mfderivToContinousLinearEquiv_coe
178- (he : e ∈ IsManifold.maximalAtlas I n M) (hx : x ∈ (chartAt H x).source) :
179- (extend_symm_mfderivToContinousLinearEquiv he hx).toContinuousLinearMap =
180- mfderiv (modelWithCornersSelf 𝕜 E) I (e.extend I).symm (e.extend I x) := sorry
181-
182- ------------------
183-
184- lemma extend (he : e ∈ IsManifold.maximalAtlas I n M) (hx : x ∈ (chartAt H x).source) :
185- IsImmersedPoint I (modelWithCornersSelf 𝕜 E) (e.extend I) x :=
186- sorry -- needs redoing; we don't need this lemma directly any more
187- -- proof was: (extendMfderivToContinousLinearEquiv he hx).splits.congr (by simp)
188-
189- lemma extend_symm (he : e ∈ IsManifold.maximalAtlas I n M) (hx : x ∈ (chartAt H x).source) :
190- IsImmersedPoint (modelWithCornersSelf 𝕜 E) I (e.extend I).symm (e.extend I x) :=
191- sorry -- needs redoing; we don't need this lemma directly any more
192- -- proof was: (extend_symm_mfderivToContinousLinearEquiv he hx).splits.congr (by simp)
193-
194- end
195-
196176lemma of_mfderiv_isInvertible (hf : (mfderiv I I' f x).IsInvertible) :
197177 IsImmersedPoint I I' f x := by
198178 rw [isImmersedPoint_iff]
@@ -203,7 +183,8 @@ lemma _root_.IsLocalDiffeomorphAt.isImmersedPoint
203183 (hf : IsLocalDiffeomorphAt I I' n f x) (hn : n ≠ 0 ) : IsImmersedPoint I I' f x :=
204184 of_mfderiv_isInvertible (hf.isInvertible_mfderiv hn)
205185
206- /-- If `f` is split at `x` and `g` is split at `f x`, then `g ∘ f` is split at `x`. -/
186+ /-- If `x` is an immersed point of `x` and `f x` is an immersed point of `g`, then `x` is an
187+ immersed point of `g ∘ f`. -/
207188lemma comp {g : M' → N} (hg : IsImmersedPoint I' J g (f x)) (hf : IsImmersedPoint I I' f x) :
208189 IsImmersedPoint I J (g ∘ f) x := by
209190 rw [isImmersedPoint_iff, mfderiv_comp x hg.mdifferentiableAt hf.mdifferentiableAt]
0 commit comments