@@ -5,7 +5,6 @@ Authors: Jeremy Avigad, Robert Y. Lewis, Johannes Hölzl, Mario Carneiro, Sébas
5
5
-/
6
6
import Mathlib.Order.Interval.Finset.Nat
7
7
import Mathlib.Topology.EMetricSpace.Defs
8
- import Mathlib.Topology.UniformSpace.Pi
9
8
import Mathlib.Topology.UniformSpace.UniformConvergence
10
9
import Mathlib.Topology.UniformSpace.UniformEmbedding
11
10
@@ -138,55 +137,6 @@ end EMetric
138
137
139
138
open EMetric
140
139
141
- section Pi
142
-
143
- open Finset
144
-
145
- variable {π : β → Type *} [Fintype β]
146
-
147
- -- Porting note: reordered instances
148
- instance [∀ b, EDist (π b)] : EDist (∀ b, π b) where
149
- edist f g := Finset.sup univ fun b => edist (f b) (g b)
150
-
151
- theorem edist_pi_def [∀ b, EDist (π b)] (f g : ∀ b, π b) :
152
- edist f g = Finset.sup univ fun b => edist (f b) (g b) :=
153
- rfl
154
-
155
- theorem edist_le_pi_edist [∀ b, EDist (π b)] (f g : ∀ b, π b) (b : β) :
156
- edist (f b) (g b) ≤ edist f g :=
157
- le_sup (f := fun b => edist (f b) (g b)) (Finset.mem_univ b)
158
-
159
- theorem edist_pi_le_iff [∀ b, EDist (π b)] {f g : ∀ b, π b} {d : ℝ≥0 ∞} :
160
- edist f g ≤ d ↔ ∀ b, edist (f b) (g b) ≤ d :=
161
- Finset.sup_le_iff.trans <| by simp only [Finset.mem_univ, forall_const]
162
-
163
- theorem edist_pi_const_le (a b : α) : (edist (fun _ : β => a) fun _ => b) ≤ edist a b :=
164
- edist_pi_le_iff.2 fun _ => le_rfl
165
-
166
- @[simp]
167
- theorem edist_pi_const [Nonempty β] (a b : α) : (edist (fun _ : β => a) fun _ => b) = edist a b :=
168
- Finset.sup_const univ_nonempty (edist a b)
169
-
170
- /-- The product of a finite number of pseudoemetric spaces, with the max distance, is still
171
- a pseudoemetric space.
172
- This construction would also work for infinite products, but it would not give rise
173
- to the product topology. Hence, we only formalize it in the good situation of finitely many
174
- spaces. -/
175
- instance pseudoEMetricSpacePi [∀ b, PseudoEMetricSpace (π b)] : PseudoEMetricSpace (∀ b, π b) where
176
- edist_self f := bot_unique <| Finset.sup_le <| by simp
177
- edist_comm f g := by simp [edist_pi_def, edist_comm]
178
- edist_triangle f g h := edist_pi_le_iff.2 fun b => le_trans (edist_triangle _ (g b) _)
179
- (add_le_add (edist_le_pi_edist _ _ _) (edist_le_pi_edist _ _ _))
180
- toUniformSpace := Pi.uniformSpace _
181
- uniformity_edist := by
182
- simp only [Pi.uniformity, PseudoEMetricSpace.uniformity_edist, comap_iInf, gt_iff_lt,
183
- preimage_setOf_eq, comap_principal, edist_pi_def]
184
- rw [iInf_comm]; congr; funext ε
185
- rw [iInf_comm]; congr; funext εpos
186
- simp [setOf_forall, εpos]
187
-
188
- end Pi
189
-
190
140
namespace EMetric
191
141
192
142
variable {x y z : α} {ε ε₁ ε₂ : ℝ≥0 ∞} {s t : Set α}
@@ -299,22 +249,6 @@ corresponding to the product of uniform spaces, to avoid diamond problems. -/
299
249
instance Prod.emetricSpaceMax [EMetricSpace β] : EMetricSpace (γ × β) :=
300
250
.ofT0PseudoEMetricSpace _
301
251
302
- section Pi
303
-
304
- open Finset
305
-
306
- variable {π : β → Type *} [Fintype β]
307
-
308
- /-- The product of a finite number of emetric spaces, with the max distance, is still
309
- an emetric space.
310
- This construction would also work for infinite products, but it would not give rise
311
- to the product topology. Hence, we only formalize it in the good situation of finitely many
312
- spaces. -/
313
- instance emetricSpacePi [∀ b, EMetricSpace (π b)] : EMetricSpace (∀ b, π b) :=
314
- .ofT0PseudoEMetricSpace _
315
-
316
- end Pi
317
-
318
252
namespace EMetric
319
253
320
254
/-- A compact set in an emetric space is separable, i.e., it is the closure of a countable set. -/
0 commit comments