@@ -21,7 +21,59 @@ multiplication of bounded sets remain bounded.
21
21
open metric set
22
22
open_locale pointwise topology
23
23
24
- variables {𝕜 E : Type *} [normed_field 𝕜]
24
+ variables {𝕜 E : Type *}
25
+
26
+ section smul_zero_class
27
+ variables [seminormed_add_comm_group 𝕜] [seminormed_add_comm_group E]
28
+ variables [smul_zero_class 𝕜 E] [has_bounded_smul 𝕜 E]
29
+
30
+ lemma ediam_smul_le (c : 𝕜) (s : set E) :
31
+ emetric.diam (c • s) ≤ ‖c‖₊ • emetric.diam s :=
32
+ (lipschitz_with_smul c).ediam_image_le s
33
+
34
+ end smul_zero_class
35
+
36
+ section division_ring
37
+ variables [normed_division_ring 𝕜] [seminormed_add_comm_group E]
38
+ variables [module 𝕜 E] [has_bounded_smul 𝕜 E]
39
+
40
+ lemma ediam_smul₀ (c : 𝕜) (s : set E) :
41
+ emetric.diam (c • s) = ‖c‖₊ • emetric.diam s :=
42
+ begin
43
+ refine le_antisymm (ediam_smul_le c s) _,
44
+ obtain rfl | hc := eq_or_ne c 0 ,
45
+ { obtain rfl | hs := s.eq_empty_or_nonempty,
46
+ { simp },
47
+ simp [zero_smul_set hs, ←set.singleton_zero], },
48
+ { have := (lipschitz_with_smul c⁻¹).ediam_image_le (c • s),
49
+ rwa [← smul_eq_mul, ←ennreal.smul_def, set.image_smul, inv_smul_smul₀ hc s, nnnorm_inv,
50
+ ennreal.le_inv_smul_iff (nnnorm_ne_zero_iff.mpr hc)] at this }
51
+ end
52
+
53
+ lemma diam_smul₀ (c : 𝕜) (x : set E) : diam (c • x) = ‖c‖ * diam x :=
54
+ by simp_rw [diam, ediam_smul₀, ennreal.to_real_smul, nnreal.smul_def, coe_nnnorm, smul_eq_mul]
55
+
56
+ lemma inf_edist_smul₀ {c : 𝕜} (hc : c ≠ 0 ) (s : set E) (x : E) :
57
+ emetric.inf_edist (c • x) (c • s) = ‖c‖₊ • emetric.inf_edist x s :=
58
+ begin
59
+ simp_rw [emetric.inf_edist],
60
+ have : function.surjective ((•) c : E → E) :=
61
+ function.right_inverse.surjective (smul_inv_smul₀ hc),
62
+ transitivity ⨅ y (H : y ∈ s), ‖c‖₊ • edist x y,
63
+ { refine (this.infi_congr _ $ λ y, _).symm,
64
+ simp_rw [smul_mem_smul_set_iff₀ hc, edist_smul₀] },
65
+ { have : (‖c‖₊ : ennreal) ≠ 0 := by simp [hc],
66
+ simp_rw [ennreal.smul_def, smul_eq_mul, ennreal.mul_infi_of_ne this ennreal.coe_ne_top] },
67
+ end
68
+
69
+ lemma inf_dist_smul₀ {c : 𝕜} (hc : c ≠ 0 ) (s : set E) (x : E) :
70
+ metric.inf_dist (c • x) (c • s) = ‖c‖ * metric.inf_dist x s :=
71
+ by simp_rw [metric.inf_dist, inf_edist_smul₀ hc, ennreal.to_real_smul, nnreal.smul_def, coe_nnnorm,
72
+ smul_eq_mul]
73
+
74
+ end division_ring
75
+
76
+ variables [normed_field 𝕜]
25
77
26
78
section seminormed_add_comm_group
27
79
variables [seminormed_add_comm_group E] [normed_space 𝕜 E]
0 commit comments