Skip to content

Commit 2edcde8

Browse files
Name changes for greater clarity
1 parent 9eed1e9 commit 2edcde8

1 file changed

Lines changed: 105 additions & 85 deletions

File tree

Mathlib/Geometry/Manifold/ExistsRiemannianMetric.lean

Lines changed: 105 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,42 @@ module
88
public import Mathlib.Geometry.Manifold.VectorBundle.Riemannian
99
public import Mathlib.Geometry.Manifold.PartitionOfUnity
1010

11-
/-! # Existence of a Riemannian bundle metric
11+
/-! ## Existence of a Riemannian bundle metric
1212
1313
Using a partition of unity, we prove the existence of a smooth Riemannian metric.
1414
15+
The idea is that there are two equivalent ways of defining a bilinear positive definite form:
16+
17+
1) pull back the inner product on ℝ^n via the inverse trivialisation
18+
2) push forward vectors and then apply the inner product on ℝ^n
19+
20+
It turns out that using (1) makes proving smoothness straightforward and
21+
`g_bilin_smooth_on_chart` proves that locally `g_bilini` is smooth (the trick is to make
22+
the set on which this is true small enough hence the intersection:
23+
`((trivializationAt F E i).baseSet ∩ (chartAt HB i).source)`).
24+
This can then be used to prove global smoothness via a partition of unity.
25+
26+
However it is not so clear (to me at any rate) how one uses (1) to prove positive definiteness.
27+
This is where (2) comes in. With this definition, it is straightforward to prove
28+
positivity, definiteness and symmetry.
29+
30+
We then prove that the two definitions are equal which allows me to prove that (1) is symmetric,
31+
positive and definite.
32+
33+
But one is still not done. Mathlib's definition requires von Neumann boundedness
34+
which is true for finite dimensional manifolds.
35+
1536
-/
1637

1738
open Set Bundle ContDiff Manifold Trivialization SmoothPartitionOfUnity
1839

19-
variable
20-
{B : Type*}
21-
{E : B → Type*} [∀ x, NormedAddCommGroup (E x)]
40+
variable {B : Type*}
41+
{E : B → Type*}
42+
[∀ x, NormedAddCommGroup (E x)]
2243

2344
section tangentSpaceEquiv
2445

25-
variable
26-
[∀ x, NormedSpace ℝ (E x)]
46+
variable [∀ x, NormedSpace ℝ (E x)]
2747

2848
structure VectorSpaceAux
2949
(x : B) (φ : E x →L[ℝ] E x →L[ℝ] ℝ) (hpos : ∀ v, 0 ≤ φ v v)
@@ -119,7 +139,7 @@ lemma my_eq_of_dist_eq_zero {x : B} (φ : E x →L[ℝ] E x →L[ℝ] ℝ) (hpos
119139
(seminormOfBilinearForm φ hpos hsymm) (u.val - v.val) = 0 → u = v := by
120140
intro h
121141
rw [seminormOfBilinearForm] at h
122-
have h1 : u.val - v.val = 0 := (hdef (u.val - v.val))
142+
have h1 : u.val - v.val = 0 := hdef (u.val - v.val)
123143
((Real.sqrt_eq_zero (hpos (u.val - v.val))).mp h)
124144
apply (VectorSpaceAux.ext_iff φ hpos hsymm hdef u v).mpr
125145
exact sub_eq_zero.mp h1
@@ -205,28 +225,28 @@ variable
205225
[IsManifold IB ω B] [ContMDiffVectorBundle ω F E IB]
206226
[FiniteDimensional ℝ EB]
207227

208-
def g_bilin_1 (i b : B) :
228+
def g_bilin (i b : B) :
209229
(TotalSpace (F →L[ℝ] F →L[ℝ] ℝ)
210230
(fun (x : B) ↦ E x →L[ℝ] E x →L[ℝ] ℝ)) :=
211231
⟨b, (trivializationAt (F →L[ℝ] F →L[ℝ] ℝ)
212232
(fun (x : B) ↦ E x →L[ℝ] E x →L[ℝ] ℝ) i).symm b (innerSL ℝ)⟩
213233

214234
variable (F) in
215-
def g_bilin_2 (i p : B) : E p →L[ℝ] (E p →L[ℝ] ℝ) :=
235+
def g_bilin_aux (i p : B) : E p →L[ℝ] (E p →L[ℝ] ℝ) :=
216236
letI χ := trivializationAt F E i
217237
(innerSL ℝ).comp (χ.continuousLinearMapAt ℝ p) |>.flip.comp (χ.continuousLinearMapAt ℝ p)
218238

219239
lemma g_nonneg {j b : B} (v : E b) :
220-
0 ≤ ((g_bilin_2 F j b).toFun v).toFun v := by
221-
unfold g_bilin_2
240+
0 ≤ ((g_bilin_aux F j b).toFun v).toFun v := by
241+
unfold g_bilin_aux
222242
simp only [AddHom.toFun_eq_coe, LinearMap.coe_toAddHom, ContinuousLinearMap.coe_coe]
223243
· exact inner_self_nonneg (𝕜 := ℝ)
224244

225245
lemma g_pos {i b : B}
226246
(hb : b ∈ (trivializationAt F E i).baseSet ∩ (chartAt HB i).source)
227247
(v : E b) (hv : v ≠ 0) :
228-
0 < ((g_bilin_2 F i b).toFun v).toFun v := by
229-
unfold g_bilin_2
248+
0 < ((g_bilin_aux F i b).toFun v).toFun v := by
249+
unfold g_bilin_aux
230250
simp only [AddHom.toFun_eq_coe, LinearMap.coe_toAddHom, ContinuousLinearMap.coe_coe]
231251
letI χ := trivializationAt F E i
232252
have h1 : (continuousLinearMapAt ℝ χ b) v ≠ 0 := by
@@ -235,10 +255,10 @@ lemma g_pos {i b : B}
235255
exact Std.lt_of_le_of_ne (inner_self_nonneg (𝕜 := ℝ))
236256
(inner_self_ne_zero.mpr h1).symm
237257

238-
theorem g_bilin_symm_2 (i p : B) (v w : E p) :
239-
((g_bilin_2 F i p).toFun v).toFun w =
240-
((g_bilin_2 F i p).toFun w).toFun v := by
241-
unfold g_bilin_2
258+
theorem g_bilin_symm_aux (i p : B) (v w : E p) :
259+
((g_bilin_aux F i p).toFun v).toFun w =
260+
((g_bilin_aux F i p).toFun w).toFun v := by
261+
unfold g_bilin_aux
242262
simp only [ContinuousLinearMap.coe_comp, AddHom.toFun_eq_coe, LinearMap.coe_toAddHom,
243263
LinearMap.coe_comp, ContinuousLinearMap.coe_coe, continuousLinearMapAt_apply,
244264
Function.comp_apply]
@@ -333,9 +353,9 @@ variable
333353
[∀ x, NormedSpace ℝ (E x)]
334354
[FiberBundle F E] [VectorBundle ℝ F E]
335355

336-
def g_global_bilin_2 (f : SmoothPartitionOfUnity B IB B) (p : B) :
356+
def g_global_bilin_aux (f : SmoothPartitionOfUnity B IB B) (p : B) :
337357
E p →L[ℝ] (E p →L[ℝ] ℝ) :=
338-
∑ᶠ (j : B), (f j) p • g_bilin_2 F j p
358+
∑ᶠ (j : B), (f j) p • g_bilin_aux F j p
339359

340360
lemma finsum_image_eq_sum {B E F : Type*} [AddCommMonoid E] [AddCommMonoid F]
341361
(φ : E →+ F) {f : B → E} {h_fin : Finset B}
@@ -355,52 +375,52 @@ def evalAt (b : B) (v w : E b) :
355375
map_zero' := by simp
356376
map_add' := by intro f g; exact rfl
357377

358-
private lemma g_global_bilin_2_support_finite (f : SmoothPartitionOfUnity B IB B) (b : B) :
359-
(Function.support fun j ↦ ((f j) b • (g_bilin_2 F j b) :
378+
private lemma g_global_bilin_aux_support_finite (f : SmoothPartitionOfUnity B IB B) (b : B) :
379+
(Function.support fun j ↦ ((f j) b • (g_bilin_aux F j b) :
360380
E b →L[ℝ] E b →L[ℝ] ℝ)).Finite :=
361381
(f.locallyFinite'.point_finite b).subset (fun i hi => by
362382
simp only [Function.mem_support, ne_eq, smul_eq_zero, not_or] at hi; exact hi.1)
363383

364-
lemma riemannian_metric_symm_2 (f : SmoothPartitionOfUnity B IB B) (b : B)
384+
lemma riemannian_metric_symm_aux (f : SmoothPartitionOfUnity B IB B) (b : B)
365385
(v w : E b) :
366-
((g_global_bilin_2 (F := F) f b).toFun v).toFun w
386+
((g_global_bilin_aux (F := F) f b).toFun v).toFun w
367387
=
368-
((g_global_bilin_2 (F := F) f b).toFun w).toFun v := by
369-
unfold g_global_bilin_2
388+
((g_global_bilin_aux (F := F) f b).toFun w).toFun v := by
389+
unfold g_global_bilin_aux
370390
simp only [AddHom.toFun_eq_coe, LinearMap.coe_toAddHom, ContinuousLinearMap.coe_coe]
371-
have h1 := g_global_bilin_2_support_finite (F := F) (E := E) f b
391+
have h1 := g_global_bilin_aux_support_finite (F := F) (E := E) f b
372392
rw [finsum_eq_sum _ h1]
373-
letI h : (j : B) → (E b →L[ℝ] (E b →L[ℝ] ℝ)) := fun j ↦ (f j) b • g_bilin_2 F j b
393+
letI h : (j : B) → (E b →L[ℝ] (E b →L[ℝ] ℝ)) := fun j ↦ (f j) b • g_bilin_aux F j b
374394
have h2 : (Function.support h) ⊆ h1.toFinset := Finite.toFinset_subset.mp fun ⦃a⦄ a ↦ a
375395
have h3 : ∀ (u v : E b),
376-
∑ j ∈ h1.toFinset, (((f j) b • g_bilin_2 F j b).toFun u).toFun v =
377-
((∑ j ∈ h1.toFinset, (f j) b • g_bilin_2 F j b).toFun u).toFun v := by
396+
∑ j ∈ h1.toFinset, (((f j) b • g_bilin_aux F j b).toFun u).toFun v =
397+
((∑ j ∈ h1.toFinset, (f j) b • g_bilin_aux F j b).toFun u).toFun v := by
378398
intros u v
379399
simp only [AddHom.toFun_eq_coe, LinearMap.coe_toAddHom, ContinuousLinearMap.coe_coe]
380400
rw [ContinuousLinearMap.sum_apply, ContinuousLinearMap.sum_apply]
381-
calc ((∑ j ∈ h1.toFinset, (f j) b • g_bilin_2 F j b).toFun v).toFun w
382-
= ∑ j ∈ h1.toFinset, (((f j) b • g_bilin_2 F j b).toFun v).toFun w := (h3 v w).symm
383-
_ = ∑ᶠ (j : B), (((f j) b • g_bilin_2 F j b).toFun v).toFun w :=
401+
calc ((∑ j ∈ h1.toFinset, (f j) b • g_bilin_aux F j b).toFun v).toFun w
402+
= ∑ j ∈ h1.toFinset, (((f j) b • g_bilin_aux F j b).toFun v).toFun w := (h3 v w).symm
403+
_ = ∑ᶠ (j : B), (((f j) b • g_bilin_aux F j b).toFun v).toFun w :=
384404
(finsum_image_eq_sum (evalAt b v w) (f := h) (h_fin := h1.toFinset) h2).symm
385-
_ = ∑ᶠ (j : B), (((f j) b • g_bilin_2 F j b).toFun w).toFun v :=
386-
finsum_congr (fun j ↦ congrArg (HMul.hMul ((f j) b)) (g_bilin_symm_2 j b v w))
387-
_ = ∑ j ∈ h1.toFinset, (((f j) b • g_bilin_2 F j b).toFun w).toFun v :=
405+
_ = ∑ᶠ (j : B), (((f j) b • g_bilin_aux F j b).toFun w).toFun v :=
406+
finsum_congr (fun j ↦ congrArg (HMul.hMul ((f j) b)) (g_bilin_symm_aux j b v w))
407+
_ = ∑ j ∈ h1.toFinset, (((f j) b • g_bilin_aux F j b).toFun w).toFun v :=
388408
finsum_image_eq_sum (evalAt b w v) (f := h) (h_fin := h1.toFinset) h2
389-
_ = ((∑ j ∈ h1.toFinset, (f j) b • g_bilin_2 F j b).toFun w).toFun v := h3 w v
409+
_ = ((∑ j ∈ h1.toFinset, (f j) b • g_bilin_aux F j b).toFun w).toFun v := h3 w v
390410

391-
lemma riemannian_metric_pos_def_2 (f : SmoothPartitionOfUnity B IB B)
411+
lemma riemannian_metric_pos_def_aux (f : SmoothPartitionOfUnity B IB B)
392412
(hf : f.IsSubordinate (fun x ↦ (trivializationAt F E x).baseSet ∩ (chartAt HB x).source))
393413
(b : B) {v : E b} (hv : v ≠ 0) :
394-
0 < g_global_bilin_2 (F := F) f b v v := by
395-
unfold g_global_bilin_2
396-
have h1 := g_global_bilin_2_support_finite (F := F) (E := E) f b
414+
0 < g_global_bilin_aux (F := F) f b v v := by
415+
unfold g_global_bilin_aux
416+
have h1 := g_global_bilin_aux_support_finite (F := F) (E := E) f b
397417
rw [finsum_eq_sum _ h1]
398-
have h2 : ∑ j ∈ h1.toFinset, (((f j) b • g_bilin_2 F j b).toFun v).toFun v =
399-
((∑ j ∈ h1.toFinset, (f j) b • g_bilin_2 F j b).toFun v).toFun v := by
418+
have h2 : ∑ j ∈ h1.toFinset, (((f j) b • g_bilin_aux F j b).toFun v).toFun v =
419+
((∑ j ∈ h1.toFinset, (f j) b • g_bilin_aux F j b).toFun v).toFun v := by
400420
simp only [AddHom.toFun_eq_coe, LinearMap.coe_toAddHom, ContinuousLinearMap.coe_coe]
401421
rw [ContinuousLinearMap.sum_apply, ContinuousLinearMap.sum_apply]
402-
letI h : (j : B) → (E b →L[ℝ] (E b →L[ℝ] ℝ)) := fun j ↦ (f j) b • g_bilin_2 F j b
403-
letI h' x := f x b * ((g_bilin_2 F x b).toFun v).toFun v
422+
letI h : (j : B) → (E b →L[ℝ] (E b →L[ℝ] ℝ)) := fun j ↦ (f j) b • g_bilin_aux F j b
423+
letI h' x := f x b * ((g_bilin_aux F x b).toFun v).toFun v
404424
have h3 : (Function.support h) ⊆ h1.toFinset := Set.Finite.toFinset_subset.mp fun ⦃a⦄ a ↦ a
405425
have ⟨i, h5⟩ : ∃ i, 0 < f i b := by
406426
by_contra! hneg
@@ -417,23 +437,23 @@ lemma riemannian_metric_pos_def_2 (f : SmoothPartitionOfUnity B IB B)
417437
simp only [Function.support_mul, Set.mem_inter_iff, Function.mem_support, ne_eq, h'] at hx
418438
exact mul_ne_zero_iff.mp (mul_ne_zero_iff.mpr hx) |>.1
419439
have hb : ∑ᶠ i, h' i =
420-
∑ j ∈ h1.toFinset, (((f j) b • g_bilin_2 F j b).toFun v).toFun v :=
440+
∑ j ∈ h1.toFinset, (((f j) b • g_bilin_aux F j b).toFun v).toFun v :=
421441
(finsum_image_eq_sum (evalAt b v v) (f := h) (h_fin := h1.toFinset) h3) ▸ rfl
422442
exact lt_of_lt_of_eq (finsum_pos h7 h8 h9) (hb.trans h2)
423443

424-
lemma riemannian_unit_ball_bounded_2 (f : SmoothPartitionOfUnity B IB B)
444+
lemma riemannian_unit_ball_bounded_aux (f : SmoothPartitionOfUnity B IB B)
425445
(hf : f.IsSubordinate (fun x ↦ (trivializationAt F E x).baseSet ∩ (chartAt HB x).source))
426446
[∀ x, FiniteDimensional ℝ (E x)] (b : B) :
427-
Bornology.IsVonNBounded ℝ {v : E b | g_global_bilin_2 (F := F) f b v v < 1} :=
428-
aux_tvs (g_global_bilin_2 f b)
447+
Bornology.IsVonNBounded ℝ {v : E b | g_global_bilin_aux (F := F) f b v v < 1} :=
448+
aux_tvs (g_global_bilin_aux f b)
429449
(fun v => by
430450
rcases eq_or_ne v 0 with rfl | hv
431451
· simp
432-
· exact le_of_lt (riemannian_metric_pos_def_2 f hf b hv))
433-
(riemannian_metric_symm_2 f b)
452+
· exact le_of_lt (riemannian_metric_pos_def_aux f hf b hv))
453+
(riemannian_metric_symm_aux f b)
434454
(fun v h => by
435455
by_contra hv
436-
exact lt_irrefl 0 (h ▸ riemannian_metric_pos_def_2 f hf b hv))
456+
exact lt_irrefl 0 (h ▸ riemannian_metric_pos_def_aux f hf b hv))
437457

438458
end section3
439459

@@ -447,11 +467,11 @@ variable
447467
[FiberBundle F E] [VectorBundle ℝ F E]
448468
[ContMDiffVectorBundle ω F E IB]
449469

450-
lemma g_bilin_1_smooth_on_chart (i : B) :
470+
lemma g_bilin_smooth_on_chart (i : B) :
451471
ContMDiffOn IB (IB.prod 𝓘(ℝ, F →L[ℝ] F →L[ℝ] ℝ)) ∞
452-
(g_bilin_1 (F := F) (E := E) i)
472+
(g_bilin (F := F) (E := E) i)
453473
((trivializationAt F E i).baseSet ∩ (chartAt HB i).source) := by
454-
unfold g_bilin_1
474+
unfold g_bilin
455475
intro b hb
456476
letI ψ := trivializationAt (F →L[ℝ] F →L[ℝ] ℝ) (fun x ↦ E x →L[ℝ] E x →L[ℝ] ℝ) i
457477
letI innerAtP : B → F →L[ℝ] F →L[ℝ] ℝ := fun x ↦ innerSL ℝ
@@ -480,24 +500,24 @@ lemma g_bilin_1_smooth_on_chart (i : B) :
480500
· simp [cast_eq]
481501
· exact (mk_mem_target ψ).mp (h5 hy)
482502

483-
noncomputable def g_global_bilin_1 (f : SmoothPartitionOfUnity B IB B) (p : B) :
503+
noncomputable def g_global_bilin (f : SmoothPartitionOfUnity B IB B) (p : B) :
484504
E p →L[ℝ] (E p →L[ℝ] ℝ) :=
485-
∑ᶠ (j : B), (f j) p • (g_bilin_1 (F := F) j p).snd
505+
∑ᶠ (j : B), (f j) p • (g_bilin (F := F) j p).snd
486506

487-
lemma g_global_bilin_1_smooth (f : SmoothPartitionOfUnity B IB B)
507+
lemma g_global_bilin_smooth (f : SmoothPartitionOfUnity B IB B)
488508
(h_sub : f.IsSubordinate (fun x ↦ (trivializationAt F E x).baseSet ∩ (chartAt HB x).source)) :
489509
ContMDiff IB (IB.prod 𝓘(ℝ, F →L[ℝ] F →L[ℝ] ℝ)) ∞
490-
(fun x ↦ TotalSpace.mk' (F →L[ℝ] F →L[ℝ] ℝ) x (g_global_bilin_1 (F := F) (E := E) f x)) :=
510+
(fun x ↦ TotalSpace.mk' (F →L[ℝ] F →L[ℝ] ℝ) x (g_global_bilin (F := F) (E := E) f x)) :=
491511
contMDiff_totalSpace_weighted_sum_of_local_sections
492512
(V := fun b => E b →L[ℝ] (E b →L[ℝ] Trivial B ℝ b))
493513
(F_fiber := F →L[ℝ] (F →L[ℝ] ℝ))
494-
(s_loc := fun (i b : B) => (g_bilin_1 (F := F) i b).snd)
514+
(s_loc := fun (i b : B) => (g_bilin (F := F) i b).snd)
495515
(U := fun x ↦ (trivializationAt F E x).baseSet ∩ (chartAt HB x).source)
496516
(hU_isOpen := fun i => ((trivializationAt F E i).open_baseSet.inter (chartAt HB i).open_source))
497517
(hρ_subord := h_sub)
498518
(h_smooth_s_loc := fun i =>
499-
(g_bilin_1_smooth_on_chart i).congr (by
500-
unfold g_bilin_1
519+
(g_bilin_smooth_on_chart i).congr (by
520+
unfold g_bilin
501521
simp only [Set.mem_inter_iff, implies_true]))
502522

503523
end smooth
@@ -553,19 +573,19 @@ lemma g_global_bilin_eq
553573
(f : SmoothPartitionOfUnity B IB B)
554574
(hf : f.IsSubordinate (fun x ↦ (trivializationAt F E x).baseSet ∩ (chartAt HB x).source))
555575
(p : B) (u v : E p) :
556-
g_global_bilin_1 (F := F) (E := E) f p u v =
557-
g_global_bilin_2 (F := F) f p u v := by
558-
have : g_global_bilin_1 (F := F) (E := E) f p = g_global_bilin_2 (F := F) f p := by
559-
unfold g_global_bilin_1 g_global_bilin_2
576+
g_global_bilin (F := F) (E := E) f p u v =
577+
g_global_bilin_aux (F := F) f p u v := by
578+
have : g_global_bilin (F := F) (E := E) f p = g_global_bilin_aux (F := F) f p := by
579+
unfold g_global_bilin g_global_bilin_aux
560580
congr 1
561581
ext j
562582
congr 2
563583
ext u v
564584
by_cases h : (f j) p = 0
565-
· have h2 : (f j) p • (g_bilin_1 (F := F) (E := E) j p).snd = 0 :=
566-
smul_eq_zero_of_left h (g_bilin_1 j p).snd
567-
have h3 : (f j) p • g_bilin_2 F (E := E) j p = 0 :=
568-
smul_eq_zero_of_left h (g_bilin_2 F j p)
585+
· have h2 : (f j) p • (g_bilin (F := F) (E := E) j p).snd = 0 :=
586+
smul_eq_zero_of_left h (g_bilin j p).snd
587+
have h3 : (f j) p • g_bilin_aux F (E := E) j p = 0 :=
588+
smul_eq_zero_of_left h (g_bilin_aux F j p)
569589
rw [h2, h3]
570590
· have hp : p ∈ tsupport (f j) := by
571591
rw [tsupport]
@@ -574,36 +594,36 @@ lemma g_global_bilin_eq
574594
hf j hp
575595
simp only [ContinuousLinearMap.coe_smul', Pi.smul_apply, smul_eq_mul]
576596
congr 1
577-
unfold g_bilin_1 g_bilin_2
597+
unfold g_bilin g_bilin_aux
578598
simp only [ContinuousLinearMap.coe_coe]
579599
conv_lhs => rw [inCoordinates_apply_eq₂_spec_symm j p hsupp.1 (innerSL ℝ) u v]
580600
exact real_inner_comm _ _
581601
rw [this]
582602

583-
lemma riemannian_metric_symm_1
603+
lemma riemannian_metric_symm
584604
(f : SmoothPartitionOfUnity B IB B)
585605
(hf : f.IsSubordinate (fun x ↦ (trivializationAt F E x).baseSet ∩ (chartAt HB x).source))
586606
(b : B) (v w : E b) :
587-
g_global_bilin_1 (F := F) (E := E) f b v w =
588-
g_global_bilin_1 (F := F) (E := E) f b w v := by
607+
g_global_bilin (F := F) (E := E) f b v w =
608+
g_global_bilin (F := F) (E := E) f b w v := by
589609
rw [g_global_bilin_eq f hf b v w, g_global_bilin_eq f hf b w v]
590-
exact (riemannian_metric_symm_2 (F := F) f b v w)
610+
exact (riemannian_metric_symm_aux (F := F) f b v w)
591611

592-
lemma riemannian_metric_pos_def_1
612+
lemma riemannian_metric_pos_def
593613
(f : SmoothPartitionOfUnity B IB B)
594614
(hf : f.IsSubordinate (fun x ↦ (trivializationAt F E x).baseSet ∩ (chartAt HB x).source))
595615
(b : B) (v : E b) (hv : v ≠ 0) :
596-
0 < g_global_bilin_1 (F := F) (E := E) f b v v := by
616+
0 < g_global_bilin (F := F) (E := E) f b v v := by
597617
rw [g_global_bilin_eq (F := F) (E := E) f hf b v v]
598-
exact riemannian_metric_pos_def_2 f hf b hv
618+
exact riemannian_metric_pos_def_aux f hf b hv
599619

600-
lemma riemannian_unit_ball_bounded_1 (f : SmoothPartitionOfUnity B IB B)
620+
lemma riemannian_unit_ball_bounded (f : SmoothPartitionOfUnity B IB B)
601621
(hf : f.IsSubordinate (fun x ↦ (trivializationAt F E x).baseSet ∩ (chartAt HB x).source))
602622
[∀ x, FiniteDimensional ℝ (E x)] (b : B) :
603623
Bornology.IsVonNBounded ℝ
604-
{v : E b | g_global_bilin_1 (F := F) (E := E) f b v v < 1} := by
624+
{v : E b | g_global_bilin (F := F) (E := E) f b v v < 1} := by
605625
simp_rw [fun v => g_global_bilin_eq f hf b v v]
606-
exact riemannian_unit_ball_bounded_2 f hf b
626+
exact riemannian_unit_ball_bounded_aux f hf b
607627

608628
end section6
609629

@@ -633,10 +653,10 @@ public theorem exists_riemannian_metric
633653
· intro b _
634654
simp only [Set.mem_iUnion, Set.mem_inter_iff]
635655
exact ⟨b, FiberBundle.mem_baseSet_trivializationAt' b, mem_chart_source HB b⟩
636-
⟨{ inner := g_global_bilin_1 (F := F) f
637-
symm := riemannian_metric_symm_1 f hf
638-
pos := riemannian_metric_pos_def_1 f hf
639-
isVonNBounded := riemannian_unit_ball_bounded_1 f hf
640-
contMDiff := g_global_bilin_1_smooth f hf }⟩
656+
⟨{ inner := g_global_bilin (F := F) f
657+
symm := riemannian_metric_symm f hf
658+
pos := riemannian_metric_pos_def f hf
659+
isVonNBounded := riemannian_unit_ball_bounded f hf
660+
contMDiff := g_global_bilin_smooth f hf }⟩
641661

642662
end section9

0 commit comments

Comments
 (0)