@@ -248,7 +248,7 @@ space are model spaces in models with corners. The general fact is proved in
248
248
lemma cont_mdiff_on.continuous_on_tangent_map_within_aux
249
249
{f : H → H'} {s : set H}
250
250
(hf : cont_mdiff_on I I' n f s) (hn : 1 ≤ n) (hs : unique_mdiff_on I s) :
251
- continuous_on (tangent_map_within I I' f s) (π (tangent_space I) ⁻¹' s) :=
251
+ continuous_on (tangent_map_within I I' f s) (π E (tangent_space I) ⁻¹' s) :=
252
252
begin
253
253
suffices h : continuous_on (λ (p : H × E), (f p.fst,
254
254
(fderiv_within 𝕜 (written_in_ext_chart_at I I' p.fst f) (I.symm ⁻¹' s ∩ range I)
@@ -258,7 +258,7 @@ begin
258
258
have B := ((tangent_bundle_model_space_homeomorph H' I').symm.continuous.comp_continuous_on h)
259
259
.comp' A,
260
260
have : (univ ∩ ⇑(tangent_bundle_model_space_homeomorph H I) ⁻¹' (prod.fst ⁻¹' s)) =
261
- π (tangent_space I) ⁻¹' s,
261
+ π E (tangent_space I) ⁻¹' s,
262
262
by { ext ⟨x, v⟩, simp only with mfld_simps },
263
263
rw this at B,
264
264
apply B.congr,
@@ -307,7 +307,8 @@ are model spaces in models with corners. The general fact is proved in
307
307
lemma cont_mdiff_on.cont_mdiff_on_tangent_map_within_aux
308
308
{f : H → H'} {s : set H}
309
309
(hf : cont_mdiff_on I I' n f s) (hmn : m + 1 ≤ n) (hs : unique_mdiff_on I s) :
310
- cont_mdiff_on I.tangent I'.tangent m (tangent_map_within I I' f s) (π (tangent_space I) ⁻¹' s) :=
310
+ cont_mdiff_on I.tangent I'.tangent m (tangent_map_within I I' f s)
311
+ (π E (tangent_space I) ⁻¹' s) :=
311
312
begin
312
313
have m_le_n : m ≤ n,
313
314
{ apply le_trans _ hmn,
@@ -324,13 +325,13 @@ begin
324
325
rw cont_mdiff_on_iff,
325
326
refine ⟨hf.continuous_on_tangent_map_within_aux one_le_n hs, λp q, _⟩,
326
327
have A : range I ×ˢ univ ∩
327
- ((equiv.sigma_equiv_prod H E).symm ∘ λ (p : E × E), ((I.symm) p.fst, p.snd)) ⁻¹'
328
- (π (tangent_space I) ⁻¹' s)
328
+ ((total_space.to_prod H E).symm ∘ λ (p : E × E), ((I.symm) p.fst, p.snd)) ⁻¹'
329
+ (π E (tangent_space I) ⁻¹' s)
329
330
= (range I ∩ I.symm ⁻¹' s) ×ˢ univ,
330
- by { ext ⟨x, v⟩, simp only with mfld_simps },
331
+ by { ext ⟨x, v⟩, simp only with mfld_simps, },
331
332
suffices h : cont_diff_on 𝕜 m (((λ (p : H' × E'), (I' p.fst, p.snd)) ∘
332
- (equiv.sigma_equiv_prod H' E')) ∘ tangent_map_within I I' f s ∘
333
- ((equiv.sigma_equiv_prod H E).symm) ∘ λ (p : E × E), (I.symm p.fst, p.snd))
333
+ (total_space.to_prod H' E')) ∘ tangent_map_within I I' f s ∘
334
+ ((total_space.to_prod H E).symm) ∘ λ (p : E × E), (I.symm p.fst, p.snd))
334
335
((range ⇑I ∩ ⇑(I.symm) ⁻¹' s) ×ˢ univ),
335
336
by simpa [A] using h,
336
337
change cont_diff_on 𝕜 m (λ (p : E × E),
@@ -369,7 +370,7 @@ is `C^m` when `m+1 ≤ n`. -/
369
370
theorem cont_mdiff_on.cont_mdiff_on_tangent_map_within
370
371
(hf : cont_mdiff_on I I' n f s) (hmn : m + 1 ≤ n) (hs : unique_mdiff_on I s) :
371
372
cont_mdiff_on I.tangent I'.tangent m (tangent_map_within I I' f s)
372
- (π (tangent_space I) ⁻¹' s) :=
373
+ (π E (tangent_space I) ⁻¹' s) :=
373
374
begin
374
375
/- The strategy of the proof is to avoid unfolding the definitions, and reduce by functoriality
375
376
to the case of functions on the model spaces, where we have already proved the result.
@@ -407,20 +408,20 @@ begin
407
408
let il := chart_at (model_prod H E) (tangent_map I I l p),
408
409
let ir := chart_at (model_prod H' E') (tangent_map I I' (r ∘ f) p),
409
410
let s' := f ⁻¹' r.source ∩ s ∩ l.source,
410
- let s'_lift := π (tangent_space I) ⁻¹' s',
411
+ let s'_lift := π E (tangent_space I) ⁻¹' s',
411
412
let s'l := l.target ∩ l.symm ⁻¹' s',
412
- let s'l_lift := π (tangent_space I) ⁻¹' s'l,
413
+ let s'l_lift := π E (tangent_space I) ⁻¹' s'l,
413
414
rcases continuous_on_iff'.1 hf'.1 r.source r.open_source with ⟨o, o_open, ho⟩,
414
415
suffices h : cont_mdiff_on I.tangent I'.tangent m (tangent_map_within I I' f s) s'_lift,
415
- { refine ⟨π (tangent_space I) ⁻¹' (o ∩ l.source), _, _, _⟩,
416
- show is_open (π (tangent_space I) ⁻¹' (o ∩ l.source)), from
416
+ { refine ⟨π E (tangent_space I) ⁻¹' (o ∩ l.source), _, _, _⟩,
417
+ show is_open (π E (tangent_space I) ⁻¹' (o ∩ l.source)), from
417
418
(is_open.inter o_open l.open_source).preimage (continuous_proj E _) ,
418
- show p ∈ π (tangent_space I) ⁻¹' (o ∩ l.source),
419
+ show p ∈ π E (tangent_space I) ⁻¹' (o ∩ l.source),
419
420
{ simp,
420
421
have : p.proj ∈ f ⁻¹' r.source ∩ s, by simp [hp],
421
422
rw ho at this ,
422
423
exact this.1 },
423
- { have : π (tangent_space I) ⁻¹' s ∩ π (tangent_space I) ⁻¹' (o ∩ l.source) = s'_lift,
424
+ { have : π E (tangent_space I) ⁻¹' s ∩ π E (tangent_space I) ⁻¹' (o ∩ l.source) = s'_lift,
424
425
{ dsimp only [s'_lift, s'], rw [ho], mfld_set_tac },
425
426
rw this ,
426
427
exact h } },
@@ -547,10 +548,10 @@ end
547
548
derivative is continuous there. -/
548
549
theorem cont_mdiff_on.continuous_on_tangent_map_within
549
550
(hf : cont_mdiff_on I I' n f s) (hmn : 1 ≤ n) (hs : unique_mdiff_on I s) :
550
- continuous_on (tangent_map_within I I' f s) (π (tangent_space I) ⁻¹' s) :=
551
+ continuous_on (tangent_map_within I I' f s) (π E (tangent_space I) ⁻¹' s) :=
551
552
begin
552
553
have : cont_mdiff_on I.tangent I'.tangent 0 (tangent_map_within I I' f s)
553
- (π (tangent_space I) ⁻¹' s) :=
554
+ (π E (tangent_space I) ⁻¹' s) :=
554
555
hf.cont_mdiff_on_tangent_map_within hmn hs,
555
556
exact this.continuous_on
556
557
end
@@ -599,15 +600,15 @@ may seem.
599
600
600
601
TODO define splittings of vector bundles; state this result invariantly. -/
601
602
lemma tangent_map_tangent_bundle_pure (p : tangent_bundle I M) :
602
- tangent_map I I.tangent (zero_section (tangent_space I)) p = ⟨⟨p.proj, 0 ⟩, ⟨p.2 , 0 ⟩⟩ :=
603
+ tangent_map I I.tangent (zero_section E (tangent_space I)) p = ⟨⟨p.proj, 0 ⟩, ⟨p.2 , 0 ⟩⟩ :=
603
604
begin
604
605
rcases p with ⟨x, v⟩,
605
606
have N : I.symm ⁻¹' (chart_at H x).target ∈ 𝓝 (I ((chart_at H x) x)),
606
607
{ apply is_open.mem_nhds,
607
608
apply (local_homeomorph.open_target _).preimage I.continuous_inv_fun,
608
609
simp only with mfld_simps },
609
- have A : mdifferentiable_at I I.tangent (λ x, @total_space_mk M (tangent_space I) x 0 ) x,
610
- { have : smooth I (I.prod 𝓘(𝕜, E)) (zero_section (tangent_space I : M → Type *)) :=
610
+ have A : mdifferentiable_at I I.tangent (λ x, @total_space.mk M E (tangent_space I) x 0 ) x,
611
+ { have : smooth I (I.prod 𝓘(𝕜, E)) (zero_section E (tangent_space I : M → Type *)) :=
611
612
bundle.smooth_zero_section 𝕜 (tangent_space I : M → Type *),
612
613
exact this.mdifferentiable_at },
613
614
have B : fderiv_within 𝕜 (λ (x' : E), (x', (0 : E))) (set.range ⇑I) (I ((chart_at H x) x)) v
@@ -618,12 +619,12 @@ begin
618
619
{ exact differentiable_at_const _ },
619
620
{ exact model_with_corners.unique_diff_at_image I },
620
621
{ exact differentiable_at_id'.prod (differentiable_at_const _) } },
621
- simp only [bundle.zero_section, tangent_map, mfderiv, total_space.proj_mk, A ,
622
- if_pos, chart_at, fiber_bundle.charted_space_chart_at, tangent_bundle.trivialization_at_apply,
622
+ simp only [bundle.zero_section, tangent_map, mfderiv, A, if_pos, chart_at ,
623
+ fiber_bundle.charted_space_chart_at, tangent_bundle.trivialization_at_apply,
623
624
tangent_bundle_core, function.comp, continuous_linear_map.map_zero] with mfld_simps,
624
625
rw [← fderiv_within_inter N] at B,
625
626
rw [← fderiv_within_inter N, ← B],
626
- congr' 2 ,
627
+ congr' 1 ,
627
628
refine fderiv_within_congr (λ y hy, _) _,
628
629
{ simp only with mfld_simps at hy,
629
630
simp only [hy, prod.mk.inj_iff] with mfld_simps },
0 commit comments