@@ -19,13 +19,15 @@ the interval in `ℝ` (see `contMDiffOn_comp_projIcc_iff` and friends).
1919
2020We also define `1 : TangentSpace (𝓡∂ 1) z`, and relate it to `1` in the real line.
2121
22- ## TODO
23-
24- This file can be thoroughly rewritten once mathlib has a good theory of smooth immersions and
25- embeddings. Once this is done,
2622- the inclusion `Icc x y → ℝ` is a smooth embedding, and in particular smooth
2723- deduce the dual result: a function `f : M → Icc x y` is smooth iff
2824 its composition with the inclusion into `ℝ` is smooth
25+
26+ ## TODO
27+
28+ This file can be thoroughly rewritten once mathlib has a good theory of smooth embeddings and
29+ submersions. Once this is done,
30+ - the inclusion `Icc x y → ℝ` is a smooth embedding
2931- prove the projection `ℝ → Icc x y` is a smooth submersion, hence smooth
3032- use this to simplify the proof that `f : Icc x y → M` is smooth iff the composition `ℝ → M`
3133 with the projection `ℝ → Icc x y` is
@@ -82,9 +84,9 @@ lemma bar_apply (z : EuclideanSpace ℝ (Fin 1)) : bar z = z 0 := rfl
8284
8385-- TODO: the proof works, except that some details with the chosen computation are not right
8486/-- The inclusion map from a closed segment to `ℝ` is a smooth immersion -/
85- lemma isImmersion_subtype_coe_Icc [h : Fact (x < y)] :
87+ lemma isImmersion_subtype_coe_Icc :
8688 letI F := (EuclideanSpace ℝ (Fin 0 ));
87- IsImmersion F (𝓡∂ 1 ) 𝓘(ℝ) ⊤ (fun (z : Icc x y) ↦ (z : ℝ)) := by
89+ IsImmersion F (𝓡∂ 1 ) 𝓘(ℝ) n (fun (z : Icc x y) ↦ (z : ℝ)) := by
8890 intro z
8991 letI φ₀ := ContinuousLinearEquiv.prodUnique ℝ (EuclideanSpace ℝ (Fin 1 )) (EuclideanSpace ℝ (Fin 0 ))
9092 have : (Module.finrank ℝ ℝ) = 1 := Module.finrank_self ℝ
@@ -171,6 +173,18 @@ lemma contMDiffOn_projIcc :
171173 rw [max_eq_right, min_eq_right hw.2 ]
172174 simp [hw.1 , h.out.le]
173175
176+ /-- A function `f : M → Icc x y` is smooth iff its composition with the inclusion
177+ into `ℝ` is smooth. -/
178+ lemma contMDiff_iff_comp_subtype_coe_Icc {f : M → Icc x y} [IsManifold I n M] :
179+ ContMDiff I (𝓡∂ 1 ) n f ↔ ContMDiff I 𝓘(ℝ) ⊤ ((fun (z : Icc x y) ↦ (z : ℝ)) ∘ f) := by
180+ have := isImmersion_subtype_coe_Icc (x := x) (y := y) (n := n)
181+ set φ := (fun (z : Icc x y) ↦ (z : ℝ))
182+ have hf : Continuous f := sorry
183+ --have aux := ContMDiff.iff_comp_isImmersion this hf (I := I) (n := n) (J := (𝓡∂ 1))
184+ -- TODO: continue here and get this working!
185+ --rw [ContMDiff.iff_comp_isImmersion this hf (n := n) (φ := φ)]
186+ sorry
187+
174188lemma contMDiffOn_comp_projIcc_iff {f : Icc x y → M} :
175189 ContMDiffOn 𝓘(ℝ) I n (f ∘ (Set.projIcc x y h.out.le)) (Icc x y) ↔ ContMDiff (𝓡∂ 1 ) I n f := by
176190 refine ⟨fun hf ↦ ?_, fun hf ↦ hf.comp_contMDiffOn contMDiffOn_projIcc⟩
0 commit comments