@@ -858,6 +858,10 @@ begin
858
858
simp_rw [mem_thickening_iff_exists_edist_lt, key_iff],
859
859
end
860
860
861
+ @[simp] lemma thickening_singleton (δ : ℝ) (x : X) :
862
+ thickening δ ({x} : set X) = ball x δ :=
863
+ by { ext, simp [mem_thickening_iff] }
864
+
861
865
/-- The (open) `δ`-thickening `thickening δ E` of a subset `E` in a metric space equals the
862
866
union of balls of radius `δ` centered at points of `E`. -/
863
867
lemma thickening_eq_bUnion_ball {δ : ℝ} {E : set X} :
@@ -927,6 +931,20 @@ lemma cthickening_mono {δ₁ δ₂ : ℝ} (hle : δ₁ ≤ δ₂) (E : set α)
927
931
cthickening δ₁ E ⊆ cthickening δ₂ E :=
928
932
preimage_mono (Iic_subset_Iic.mpr (ennreal.of_real_le_of_real hle))
929
933
934
+ @[simp] lemma cthickening_singleton {α : Type *} [pseudo_metric_space α]
935
+ (x : α) {δ : ℝ} (hδ : 0 ≤ δ) :
936
+ cthickening δ ({x} : set α) = closed_ball x δ :=
937
+ by { ext y, simp [cthickening, edist_dist, ennreal.of_real_le_of_real_iff hδ] }
938
+
939
+ lemma closed_ball_subset_cthickening_singleton {α : Type *} [pseudo_metric_space α]
940
+ (x : α) (δ : ℝ) :
941
+ closed_ball x δ ⊆ cthickening δ ({x} : set α) :=
942
+ begin
943
+ rcases lt_or_le δ 0 with hδ|hδ,
944
+ { simp only [closed_ball_eq_empty.mpr hδ, empty_subset] },
945
+ { simp only [cthickening_singleton x hδ] }
946
+ end
947
+
930
948
/-- The closed thickening `cthickening δ E` with a fixed thickening radius `δ` is
931
949
an increasing function of the subset `E`. -/
932
950
lemma cthickening_subset_of_subset (δ : ℝ) {E₁ E₂ : set α} (h : E₁ ⊆ E₂) :
@@ -1096,6 +1114,34 @@ begin
1096
1114
exact continuous_inf_edist.frontier_preimage_subset (Iic (ennreal.of_real δ)),
1097
1115
end
1098
1116
1117
+ /-- The closed ball of radius `δ` centered at a point of `E` is included in the closed
1118
+ thickening of `E`. -/
1119
+ lemma closed_ball_subset_cthickening {α : Type *} [pseudo_metric_space α]
1120
+ {x : α} {E : set α} (hx : x ∈ E) (δ : ℝ) :
1121
+ closed_ball x δ ⊆ cthickening δ E :=
1122
+ begin
1123
+ refine (closed_ball_subset_cthickening_singleton _ _).trans (cthickening_subset_of_subset _ _),
1124
+ simpa using hx,
1125
+ end
1126
+
1127
+ /-- The closed thickening of a compact set `E` is the union of the balls `closed_ball x δ` over
1128
+ `x ∈ E`. -/
1129
+ lemma _root_.is_compact.cthickening_eq_bUnion_closed_ball
1130
+ {α : Type *} [pseudo_metric_space α] {δ : ℝ} {E : set α} (hE : is_compact E) (hδ : 0 ≤ δ) :
1131
+ cthickening δ E = ⋃ x ∈ E, closed_ball x δ :=
1132
+ begin
1133
+ rcases eq_empty_or_nonempty E with rfl|hne,
1134
+ { simp only [cthickening_empty, Union_false, Union_empty] },
1135
+ refine subset.antisymm (λ x hx, _) (bUnion_subset (λ x hx, closed_ball_subset_cthickening hx _)),
1136
+ obtain ⟨y, yE, hy⟩ : ∃ y ∈ E, emetric.inf_edist x E = edist x y :=
1137
+ hE.exists_inf_edist_eq_edist hne _,
1138
+ have D1 : edist x y ≤ ennreal.of_real δ := (le_of_eq hy.symm).trans hx,
1139
+ have D2 : dist x y ≤ δ,
1140
+ { rw edist_dist at D1,
1141
+ exact (ennreal.of_real_le_of_real_iff hδ).1 D1 },
1142
+ exact mem_bUnion yE D2,
1143
+ end
1144
+
1099
1145
end cthickening -- section
1100
1146
1101
1147
end metric -- namespace
0 commit comments