Skip to content

Commit ba38237

Browse files
committed
Module doc-string; remove unneeded results
1 parent 7062851 commit ba38237

File tree

1 file changed

+25
-44
lines changed

1 file changed

+25
-44
lines changed

Mathlib/Geometry/Manifold/ImmersedPoint.lean

Lines changed: 25 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,26 @@ Given a map `f : M → N` between manifolds, we call `x` and *immersed point* of
1414
the `mfderiv` of `f` at `x` *splits*, i.e. admits a continuous left inverse. (If `M` is
1515
finite-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-
196176
lemma 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`. -/
207188
lemma 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

Comments
 (0)