topology.metric_space.partition_of_unityMathlib.Topology.MetricSpace.PartitionOfUnity

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 -/
-import Topology.MetricSpace.EmetricParacompact
+import Topology.EMetricSpace.Paracompact
 import Analysis.Convex.PartitionOfUnity
 
 #align_import topology.metric_space.partition_of_unity from "leanprover-community/mathlib"@"50251fd6309cca5ca2e747882ffecd2729f38c5d"
Diff
@@ -54,7 +54,7 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
     filter_upwards [tendsto_snd (hfin.Inter_compl_mem_nhds hK x),
       (eventually_all_finite (hfin.point_finite x)).2 this]
     rintro ⟨r, y⟩ hxy hyU i hi
-    simp only [mem_Inter₂, mem_compl_iff, not_imp_not, mem_preimage] at hxy 
+    simp only [mem_Inter₂, mem_compl_iff, not_imp_not, mem_preimage] at hxy
     exact hyU _ (hxy _ hi)
   intro i hi
   rcases nhds_basis_closed_eball.mem_iff.1 ((hU i).mem_nhds <| hKU i hi) with ⟨R, hR₀, hR⟩
Diff
@@ -112,12 +112,12 @@ theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K
 #align emetric.exists_continuous_real_forall_closed_ball_subset EMetric.exists_continuous_real_forall_closedBall_subset
 -/
 
-#print EMetric.exists_continuous_nNReal_forall_closedBall_subset /-
+#print EMetric.exists_continuous_nnreal_forall_closedBall_subset /-
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`,
 we have `emetric.closed_ball x (δ x) ⊆ U i`. -/
-theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
+theorem exists_continuous_nnreal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ≥0), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
   by
@@ -125,7 +125,7 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
   lift δ to C(X, ℝ≥0) using fun x => (hδ₀ x).le
   refine' ⟨δ, hδ₀, fun i x hi => _⟩
   simpa only [← ENNReal.ofReal_coe_nnreal] using hδ i x hi
-#align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subset
+#align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nnreal_forall_closedBall_subset
 -/
 
 #print EMetric.exists_continuous_eNNReal_forall_closedBall_subset /-
@@ -136,7 +136,7 @@ we have `emetric.closed_ball x (δ x) ⊆ U i`. -/
 theorem exists_continuous_eNNReal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ≥0∞), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
-  let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin
+  let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nnreal_forall_closedBall_subset hK hU hKU hfin
   ⟨ContinuousMap.comp ⟨coe, ENNReal.continuous_coe⟩ δ, fun x => ENNReal.coe_pos.2 (hδ₀ x), hδ⟩
 #align emetric.exists_continuous_ennreal_forall_closed_ball_subset EMetric.exists_continuous_eNNReal_forall_closedBall_subset
 -/
@@ -147,20 +147,20 @@ namespace Metric
 
 variable [MetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
-#print Metric.exists_continuous_nNReal_forall_closedBall_subset /-
+#print Metric.exists_continuous_nnreal_forall_closedBall_subset /-
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
 positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`, we have
 `metric.closed_ball x (δ x) ⊆ U i`. -/
-theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
+theorem exists_continuous_nnreal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ≥0), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
   by
-  rcases EMetric.exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin with ⟨δ, hδ0, hδ⟩
+  rcases EMetric.exists_continuous_nnreal_forall_closedBall_subset hK hU hKU hfin with ⟨δ, hδ0, hδ⟩
   refine' ⟨δ, hδ0, fun i x hx => _⟩
   rw [← emetric_closed_ball_nnreal]
   exact hδ i x hx
-#align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subset
+#align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nnreal_forall_closedBall_subset
 -/
 
 #print Metric.exists_continuous_real_forall_closedBall_subset /-
@@ -171,7 +171,7 @@ positive continuous function `δ : C(X, ℝ)` such that for any `i` and `x ∈ K
 theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
-  let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin
+  let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nnreal_forall_closedBall_subset hK hU hKU hfin
   ⟨ContinuousMap.comp ⟨coe, NNReal.continuous_coe⟩ δ, hδ₀, hδ⟩
 #align metric.exists_continuous_real_forall_closed_ball_subset Metric.exists_continuous_real_forall_closedBall_subset
 -/
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 -/
-import Mathbin.Topology.MetricSpace.EmetricParacompact
-import Mathbin.Analysis.Convex.PartitionOfUnity
+import Topology.MetricSpace.EmetricParacompact
+import Analysis.Convex.PartitionOfUnity
 
 #align_import topology.metric_space.partition_of_unity from "leanprover-community/mathlib"@"50251fd6309cca5ca2e747882ffecd2729f38c5d"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module topology.metric_space.partition_of_unity
-! leanprover-community/mathlib commit 50251fd6309cca5ca2e747882ffecd2729f38c5d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.MetricSpace.EmetricParacompact
 import Mathbin.Analysis.Convex.PartitionOfUnity
 
+#align_import topology.metric_space.partition_of_unity from "leanprover-community/mathlib"@"50251fd6309cca5ca2e747882ffecd2729f38c5d"
+
 /-!
 # Lemmas about (e)metric spaces that need partition of unity
 
Diff
@@ -43,6 +43,7 @@ namespace Emetric
 
 variable [EMetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
+#print EMetric.eventually_nhds_zero_forall_closedBall_subset /-
 /-- Let `K : ι → set X` be a locally finitie family of closed sets in an emetric space. Let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then for any point
 `x : X`, for sufficiently small `r : ℝ≥0∞` and for `y` sufficiently close to `x`, for all `i`, if
@@ -70,7 +71,9 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
     _ ≤ p.1 + (R - p.1) := (add_le_add hz <| le_trans hp.2 <| tsub_le_tsub_left hp.1.out.le _)
     _ = R := add_tsub_cancel_of_le (lt_trans hp.1 hrR).le
 #align emetric.eventually_nhds_zero_forall_closed_ball_subset EMetric.eventually_nhds_zero_forall_closedBall_subset
+-/
 
+#print EMetric.exists_forall_closedBall_subset_aux₁ /-
 theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU : ∀ i, IsOpen (U i))
     (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) (x : X) :
     ∃ r : ℝ,
@@ -84,7 +87,9 @@ theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU
   refine' ⟨r, hr.mono fun y hy => ⟨hr0, _⟩⟩
   rwa [mem_preimage, mem_Inter₂]
 #align emetric.exists_forall_closed_ball_subset_aux₁ EMetric.exists_forall_closedBall_subset_aux₁
+-/
 
+#print EMetric.exists_forall_closedBall_subset_aux₂ /-
 theorem exists_forall_closedBall_subset_aux₂ (y : X) :
     Convex ℝ (Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), {r | closedBall y r ⊆ U i}) :=
   (convex_Ioi _).inter <|
@@ -93,7 +98,9 @@ theorem exists_forall_closedBall_subset_aux₂ (y : X) :
         ordConnected_iInter fun i =>
           ordConnected_iInter fun hi => ordConnected_setOf_closedBall_subset y (U i)
 #align emetric.exists_forall_closed_ball_subset_aux₂ EMetric.exists_forall_closedBall_subset_aux₂
+-/
 
+#print EMetric.exists_continuous_real_forall_closedBall_subset /-
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ)` such that for any `i` and `x ∈ K i`,
@@ -106,7 +113,9 @@ theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K
     exists_continuous_forall_mem_convex_of_local_const exists_forall_closed_ball_subset_aux₂
       (exists_forall_closed_ball_subset_aux₁ hK hU hKU hfin)
 #align emetric.exists_continuous_real_forall_closed_ball_subset EMetric.exists_continuous_real_forall_closedBall_subset
+-/
 
+#print EMetric.exists_continuous_nNReal_forall_closedBall_subset /-
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`,
@@ -120,7 +129,9 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
   refine' ⟨δ, hδ₀, fun i x hi => _⟩
   simpa only [← ENNReal.ofReal_coe_nnreal] using hδ i x hi
 #align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subset
+-/
 
+#print EMetric.exists_continuous_eNNReal_forall_closedBall_subset /-
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0∞)` such that for any `i` and `x ∈ K i`,
@@ -131,6 +142,7 @@ theorem exists_continuous_eNNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
   let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin
   ⟨ContinuousMap.comp ⟨coe, ENNReal.continuous_coe⟩ δ, fun x => ENNReal.coe_pos.2 (hδ₀ x), hδ⟩
 #align emetric.exists_continuous_ennreal_forall_closed_ball_subset EMetric.exists_continuous_eNNReal_forall_closedBall_subset
+-/
 
 end Emetric
 
@@ -138,6 +150,7 @@ namespace Metric
 
 variable [MetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
+#print Metric.exists_continuous_nNReal_forall_closedBall_subset /-
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
 positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`, we have
@@ -151,7 +164,9 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
   rw [← emetric_closed_ball_nnreal]
   exact hδ i x hx
 #align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subset
+-/
 
+#print Metric.exists_continuous_real_forall_closedBall_subset /-
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
 positive continuous function `δ : C(X, ℝ)` such that for any `i` and `x ∈ K i`, we have
@@ -162,6 +177,7 @@ theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K
   let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin
   ⟨ContinuousMap.comp ⟨coe, NNReal.continuous_coe⟩ δ, hδ₀, hδ⟩
 #align metric.exists_continuous_real_forall_closed_ball_subset Metric.exists_continuous_real_forall_closedBall_subset
+-/
 
 end Metric
 
Diff
@@ -69,7 +69,6 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
     edist z x ≤ edist z p.2 + edist p.2 x := edist_triangle _ _ _
     _ ≤ p.1 + (R - p.1) := (add_le_add hz <| le_trans hp.2 <| tsub_le_tsub_left hp.1.out.le _)
     _ = R := add_tsub_cancel_of_le (lt_trans hp.1 hrR).le
-    
 #align emetric.eventually_nhds_zero_forall_closed_ball_subset EMetric.eventually_nhds_zero_forall_closedBall_subset
 
 theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU : ∀ i, IsOpen (U i))
Diff
@@ -62,7 +62,8 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
   rcases nhds_basis_closed_eball.mem_iff.1 ((hU i).mem_nhds <| hKU i hi) with ⟨R, hR₀, hR⟩
   rcases ennreal.lt_iff_exists_nnreal_btwn.mp hR₀ with ⟨r, hr₀, hrR⟩
   filter_upwards [prod_mem_prod (eventually_lt_nhds hr₀)
-      (closed_ball_mem_nhds x (tsub_pos_iff_lt.2 hrR))]with p hp z hz
+      (closed_ball_mem_nhds x (tsub_pos_iff_lt.2 hrR))] with
+    p hp z hz
   apply hR
   calc
     edist z x ≤ edist z p.2 + edist p.2 x := edist_triangle _ _ _
@@ -75,7 +76,7 @@ theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU
     (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) (x : X) :
     ∃ r : ℝ,
       ∀ᶠ y in 𝓝 x,
-        r ∈ Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), { r | closedBall y r ⊆ U i } :=
+        r ∈ Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), {r | closedBall y r ⊆ U i} :=
   by
   have :=
     (ennreal.continuous_of_real.tendsto' 0 0 ENNReal.ofReal_zero).Eventually
@@ -86,8 +87,7 @@ theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU
 #align emetric.exists_forall_closed_ball_subset_aux₁ EMetric.exists_forall_closedBall_subset_aux₁
 
 theorem exists_forall_closedBall_subset_aux₂ (y : X) :
-    Convex ℝ
-      (Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), { r | closedBall y r ⊆ U i }) :=
+    Convex ℝ (Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), {r | closedBall y r ⊆ U i}) :=
   (convex_Ioi _).inter <|
     OrdConnected.convex <|
       OrdConnected.preimage_ennreal_ofReal <|
Diff
@@ -56,7 +56,7 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
     filter_upwards [tendsto_snd (hfin.Inter_compl_mem_nhds hK x),
       (eventually_all_finite (hfin.point_finite x)).2 this]
     rintro ⟨r, y⟩ hxy hyU i hi
-    simp only [mem_Inter₂, mem_compl_iff, not_imp_not, mem_preimage] at hxy
+    simp only [mem_Inter₂, mem_compl_iff, not_imp_not, mem_preimage] at hxy 
     exact hyU _ (hxy _ hi)
   intro i hi
   rcases nhds_basis_closed_eball.mem_iff.1 ((hU i).mem_nhds <| hKU i hi) with ⟨R, hR₀, hR⟩
Diff
@@ -33,7 +33,7 @@ metric space, partition of unity, locally finite
 -/
 
 
-open Topology ENNReal BigOperators NNReal Filter
+open scoped Topology ENNReal BigOperators NNReal Filter
 
 open Set Function Filter TopologicalSpace
 
Diff
@@ -43,12 +43,6 @@ namespace Emetric
 
 variable [EMetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
-/- warning: emetric.eventually_nhds_zero_forall_closed_ball_subset -> EMetric.eventually_nhds_zero_forall_closedBall_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (forall (x : X), Filter.Eventually.{u2} (Prod.{0, u2} ENNReal X) (fun (p : Prod.{0, u2} ENNReal X) => forall (i : ι), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) (Prod.snd.{0, u2} ENNReal X p) (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) (Prod.snd.{0, u2} ENNReal X p) (Prod.fst.{0, u2} ENNReal X p)) (U i))) (Filter.prod.{0, u2} ENNReal X (nhds.{0} ENNReal ENNReal.topologicalSpace (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) (nhds.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) x)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (forall (x : X), Filter.Eventually.{u2} (Prod.{0, u2} ENNReal X) (fun (p : Prod.{0, u2} ENNReal X) => forall (i : ι), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) (Prod.snd.{0, u2} ENNReal X p) (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) (Prod.snd.{0, u2} ENNReal X p) (Prod.fst.{0, u2} ENNReal X p)) (U i))) (Filter.prod.{0, u2} ENNReal X (nhds.{0} ENNReal ENNReal.instTopologicalSpaceENNReal (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) (nhds.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) x)))
-Case conversion may be inaccurate. Consider using '#align emetric.eventually_nhds_zero_forall_closed_ball_subset EMetric.eventually_nhds_zero_forall_closedBall_subsetₓ'. -/
 /-- Let `K : ι → set X` be a locally finitie family of closed sets in an emetric space. Let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then for any point
 `x : X`, for sufficiently small `r : ℝ≥0∞` and for `y` sufficiently close to `x`, for all `i`, if
@@ -77,9 +71,6 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
     
 #align emetric.eventually_nhds_zero_forall_closed_ball_subset EMetric.eventually_nhds_zero_forall_closedBall_subset
 
-/- warning: emetric.exists_forall_closed_ball_subset_aux₁ -> EMetric.exists_forall_closedBall_subset_aux₁ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align emetric.exists_forall_closed_ball_subset_aux₁ EMetric.exists_forall_closedBall_subset_aux₁ₓ'. -/
 theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU : ∀ i, IsOpen (U i))
     (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) (x : X) :
     ∃ r : ℝ,
@@ -94,12 +85,6 @@ theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU
   rwa [mem_preimage, mem_Inter₂]
 #align emetric.exists_forall_closed_ball_subset_aux₁ EMetric.exists_forall_closedBall_subset_aux₁
 
-/- warning: emetric.exists_forall_closed_ball_subset_aux₂ -> EMetric.exists_forall_closedBall_subset_aux₂ is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)} (y : X), Convex.{0, 0} Real Real Real.orderedSemiring Real.addCommMonoid (Mul.toSMul.{0} Real Real.hasMul) (Inter.inter.{0} (Set.{0} Real) (Set.hasInter.{0} Real) (Set.Ioi.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Set.preimage.{0, 0} Real ENNReal ENNReal.ofReal (Set.iInter.{0, succ u1} ENNReal ι (fun (i : ι) => Set.iInter.{0, 0} ENNReal (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) y (K i)) (fun (hi : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) y (K i)) => setOf.{0} ENNReal (fun (r : ENNReal) => HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) y r) (U i)))))))
-but is expected to have type
-  forall {ι : Type.{u2}} {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {K : ι -> (Set.{u1} X)} {U : ι -> (Set.{u1} X)} (y : X), Convex.{0, 0} Real Real Real.orderedSemiring Real.instAddCommMonoidReal (Algebra.toSMul.{0, 0} Real Real Real.instCommSemiringReal Real.semiring (NormedAlgebra.toAlgebra.{0, 0} Real Real Real.normedField (SeminormedCommRing.toSeminormedRing.{0} Real (NormedCommRing.toSeminormedCommRing.{0} Real Real.normedCommRing)) (NormedAlgebra.id.{0} Real Real.normedField))) (Inter.inter.{0} (Set.{0} Real) (Set.instInterSet.{0} Real) (Set.Ioi.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Set.preimage.{0, 0} Real ENNReal ENNReal.ofReal (Set.iInter.{0, succ u2} ENNReal ι (fun (i : ι) => Set.iInter.{0, 0} ENNReal (Membership.mem.{u1, u1} X (Set.{u1} X) (Set.instMembershipSet.{u1} X) y (K i)) (fun (hi : Membership.mem.{u1, u1} X (Set.{u1} X) (Set.instMembershipSet.{u1} X) y (K i)) => setOf.{0} ENNReal (fun (r : ENNReal) => HasSubset.Subset.{u1} (Set.{u1} X) (Set.instHasSubsetSet.{u1} X) (EMetric.closedBall.{u1} X (EMetricSpace.toPseudoEMetricSpace.{u1} X _inst_1) y r) (U i)))))))
-Case conversion may be inaccurate. Consider using '#align emetric.exists_forall_closed_ball_subset_aux₂ EMetric.exists_forall_closedBall_subset_aux₂ₓ'. -/
 theorem exists_forall_closedBall_subset_aux₂ (y : X) :
     Convex ℝ
       (Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), { r | closedBall y r ⊆ U i }) :=
@@ -110,9 +95,6 @@ theorem exists_forall_closedBall_subset_aux₂ (y : X) :
           ordConnected_iInter fun hi => ordConnected_setOf_closedBall_subset y (U i)
 #align emetric.exists_forall_closed_ball_subset_aux₂ EMetric.exists_forall_closedBall_subset_aux₂
 
-/- warning: emetric.exists_continuous_real_forall_closed_ball_subset -> EMetric.exists_continuous_real_forall_closedBall_subset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_real_forall_closed_ball_subset EMetric.exists_continuous_real_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ)` such that for any `i` and `x ∈ K i`,
@@ -126,9 +108,6 @@ theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K
       (exists_forall_closed_ball_subset_aux₁ hK hU hKU hfin)
 #align emetric.exists_continuous_real_forall_closed_ball_subset EMetric.exists_continuous_real_forall_closedBall_subset
 
-/- warning: emetric.exists_continuous_nnreal_forall_closed_ball_subset -> EMetric.exists_continuous_nNReal_forall_closedBall_subset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`,
@@ -143,9 +122,6 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
   simpa only [← ENNReal.ofReal_coe_nnreal] using hδ i x hi
 #align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subset
 
-/- warning: emetric.exists_continuous_ennreal_forall_closed_ball_subset -> EMetric.exists_continuous_eNNReal_forall_closedBall_subset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_ennreal_forall_closed_ball_subset EMetric.exists_continuous_eNNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0∞)` such that for any `i` and `x ∈ K i`,
@@ -163,9 +139,6 @@ namespace Metric
 
 variable [MetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
-/- warning: metric.exists_continuous_nnreal_forall_closed_ball_subset -> Metric.exists_continuous_nNReal_forall_closedBall_subset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
 positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`, we have
@@ -180,9 +153,6 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
   exact hδ i x hx
 #align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subset
 
-/- warning: metric.exists_continuous_real_forall_closed_ball_subset -> Metric.exists_continuous_real_forall_closedBall_subset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align metric.exists_continuous_real_forall_closed_ball_subset Metric.exists_continuous_real_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
 positive continuous function `δ : C(X, ℝ)` such that for any `i` and `x ∈ K i`, we have
Diff
@@ -78,10 +78,7 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
 #align emetric.eventually_nhds_zero_forall_closed_ball_subset EMetric.eventually_nhds_zero_forall_closedBall_subset
 
 /- warning: emetric.exists_forall_closed_ball_subset_aux₁ -> EMetric.exists_forall_closedBall_subset_aux₁ is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (forall (x : X), Exists.{1} Real (fun (r : Real) => Filter.Eventually.{u2} X (fun (y : X) => Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) r (Inter.inter.{0} (Set.{0} Real) (Set.hasInter.{0} Real) (Set.Ioi.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Set.preimage.{0, 0} Real ENNReal ENNReal.ofReal (Set.iInter.{0, succ u1} ENNReal ι (fun (i : ι) => Set.iInter.{0, 0} ENNReal (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) y (K i)) (fun (hi : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) y (K i)) => setOf.{0} ENNReal (fun (r : ENNReal) => HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) y r) (U i)))))))) (nhds.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) x)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (forall (x : X), Exists.{1} Real (fun (r : Real) => Filter.Eventually.{u2} X (fun (y : X) => Membership.mem.{0, 0} Real (Set.{0} Real) (Set.instMembershipSet.{0} Real) r (Inter.inter.{0} (Set.{0} Real) (Set.instInterSet.{0} Real) (Set.Ioi.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Set.preimage.{0, 0} Real ENNReal ENNReal.ofReal (Set.iInter.{0, succ u1} ENNReal ι (fun (i : ι) => Set.iInter.{0, 0} ENNReal (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) y (K i)) (fun (hi : Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) y (K i)) => setOf.{0} ENNReal (fun (r : ENNReal) => HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) y r) (U i)))))))) (nhds.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align emetric.exists_forall_closed_ball_subset_aux₁ EMetric.exists_forall_closedBall_subset_aux₁ₓ'. -/
 theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU : ∀ i, IsOpen (U i))
     (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) (x : X) :
@@ -114,10 +111,7 @@ theorem exists_forall_closedBall_subset_aux₂ (y : X) :
 #align emetric.exists_forall_closed_ball_subset_aux₂ EMetric.exists_forall_closedBall_subset_aux₂
 
 /- warning: emetric.exists_continuous_real_forall_closed_ball_subset -> EMetric.exists_continuous_real_forall_closedBall_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (δ : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (forall (x : X), LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) x (ENNReal.ofReal (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) δ x))) (U i)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (δ : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLTReal (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instZeroReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) x (ENNReal.ofReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) δ x))) (U i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_real_forall_closed_ball_subset EMetric.exists_continuous_real_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
@@ -133,10 +127,7 @@ theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K
 #align emetric.exists_continuous_real_forall_closed_ball_subset EMetric.exists_continuous_real_forall_closedBall_subset
 
 /- warning: emetric.exists_continuous_nnreal_forall_closed_ball_subset -> EMetric.exists_continuous_nNReal_forall_closedBall_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (δ : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => And (forall (x : X), LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (OfNat.ofNat.{0} NNReal 0 (OfNat.mk.{0} NNReal 0 (Zero.zero.{0} NNReal (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => X -> NNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => X -> NNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) δ x))) (U i)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) (fun (δ : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (Preorder.toLT.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (PartialOrder.toPreorder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (StrictOrderedSemiring.toPartialOrder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) instNNRealZero)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal)) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) x (ENNReal.some (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal)) δ x))) (U i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
@@ -153,10 +144,7 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
 #align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subset
 
 /- warning: emetric.exists_continuous_ennreal_forall_closed_ball_subset -> EMetric.exists_continuous_eNNReal_forall_closedBall_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) (fun (δ : ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) => And (forall (x : X), LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) => X -> ENNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) x (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) => X -> ENNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) δ x)) (U i)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) (fun (δ : ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (Preorder.toLT.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (PartialOrder.toPreorder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (OmegaCompletePartialOrder.toPartialOrder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (CompleteLattice.instOmegaCompletePartialOrder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (CompleteLinearOrder.toCompleteLattice.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) instENNRealZero)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal)) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) x (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal)) δ x)) (U i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_ennreal_forall_closed_ball_subset EMetric.exists_continuous_eNNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
@@ -176,10 +164,7 @@ namespace Metric
 variable [MetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
 /- warning: metric.exists_continuous_nnreal_forall_closed_ball_subset -> Metric.exists_continuous_nNReal_forall_closedBall_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : MetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (δ : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => And (forall (x : X), LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (OfNat.ofNat.{0} NNReal 0 (OfNat.mk.{0} NNReal 0 (Zero.zero.{0} NNReal (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => X -> NNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (Metric.closedBall.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => X -> NNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) δ x))) (U i)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : MetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) (fun (δ : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (Preorder.toLT.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (PartialOrder.toPreorder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (StrictOrderedSemiring.toPartialOrder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) instNNRealZero)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal)) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (Metric.closedBall.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1) x (NNReal.toReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal)) δ x))) (U i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
@@ -196,10 +181,7 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
 #align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subset
 
 /- warning: metric.exists_continuous_real_forall_closed_ball_subset -> Metric.exists_continuous_real_forall_closedBall_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : MetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (δ : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (forall (x : X), LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (Metric.closedBall.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1) x (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) δ x)) (U i)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : MetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (δ : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLTReal (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instZeroReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (Metric.closedBall.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1) x (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) δ x)) (U i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align metric.exists_continuous_real_forall_closed_ball_subset Metric.exists_continuous_real_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 
 ! This file was ported from Lean 3 source module topology.metric_space.partition_of_unity
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 50251fd6309cca5ca2e747882ffecd2729f38c5d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Analysis.Convex.PartitionOfUnity
 /-!
 # Lemmas about (e)metric spaces that need partition of unity
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 The main lemma in this file (see `metric.exists_continuous_real_forall_closed_ball_subset`) says the
 following. Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets,
 let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
Diff
@@ -40,6 +40,12 @@ namespace Emetric
 
 variable [EMetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
+/- warning: emetric.eventually_nhds_zero_forall_closed_ball_subset -> EMetric.eventually_nhds_zero_forall_closedBall_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (forall (x : X), Filter.Eventually.{u2} (Prod.{0, u2} ENNReal X) (fun (p : Prod.{0, u2} ENNReal X) => forall (i : ι), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) (Prod.snd.{0, u2} ENNReal X p) (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) (Prod.snd.{0, u2} ENNReal X p) (Prod.fst.{0, u2} ENNReal X p)) (U i))) (Filter.prod.{0, u2} ENNReal X (nhds.{0} ENNReal ENNReal.topologicalSpace (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero)))) (nhds.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) x)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (forall (x : X), Filter.Eventually.{u2} (Prod.{0, u2} ENNReal X) (fun (p : Prod.{0, u2} ENNReal X) => forall (i : ι), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) (Prod.snd.{0, u2} ENNReal X p) (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) (Prod.snd.{0, u2} ENNReal X p) (Prod.fst.{0, u2} ENNReal X p)) (U i))) (Filter.prod.{0, u2} ENNReal X (nhds.{0} ENNReal ENNReal.instTopologicalSpaceENNReal (OfNat.ofNat.{0} ENNReal 0 (Zero.toOfNat0.{0} ENNReal instENNRealZero))) (nhds.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) x)))
+Case conversion may be inaccurate. Consider using '#align emetric.eventually_nhds_zero_forall_closed_ball_subset EMetric.eventually_nhds_zero_forall_closedBall_subsetₓ'. -/
 /-- Let `K : ι → set X` be a locally finitie family of closed sets in an emetric space. Let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then for any point
 `x : X`, for sufficiently small `r : ℝ≥0∞` and for `y` sufficiently close to `x`, for all `i`, if
@@ -66,8 +72,14 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
     _ ≤ p.1 + (R - p.1) := (add_le_add hz <| le_trans hp.2 <| tsub_le_tsub_left hp.1.out.le _)
     _ = R := add_tsub_cancel_of_le (lt_trans hp.1 hrR).le
     
-#align emetric.eventually_nhds_zero_forall_closed_ball_subset Emetric.eventually_nhds_zero_forall_closedBall_subset
-
+#align emetric.eventually_nhds_zero_forall_closed_ball_subset EMetric.eventually_nhds_zero_forall_closedBall_subset
+
+/- warning: emetric.exists_forall_closed_ball_subset_aux₁ -> EMetric.exists_forall_closedBall_subset_aux₁ is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (forall (x : X), Exists.{1} Real (fun (r : Real) => Filter.Eventually.{u2} X (fun (y : X) => Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) r (Inter.inter.{0} (Set.{0} Real) (Set.hasInter.{0} Real) (Set.Ioi.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Set.preimage.{0, 0} Real ENNReal ENNReal.ofReal (Set.iInter.{0, succ u1} ENNReal ι (fun (i : ι) => Set.iInter.{0, 0} ENNReal (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) y (K i)) (fun (hi : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) y (K i)) => setOf.{0} ENNReal (fun (r : ENNReal) => HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) y r) (U i)))))))) (nhds.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) x)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (forall (x : X), Exists.{1} Real (fun (r : Real) => Filter.Eventually.{u2} X (fun (y : X) => Membership.mem.{0, 0} Real (Set.{0} Real) (Set.instMembershipSet.{0} Real) r (Inter.inter.{0} (Set.{0} Real) (Set.instInterSet.{0} Real) (Set.Ioi.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Set.preimage.{0, 0} Real ENNReal ENNReal.ofReal (Set.iInter.{0, succ u1} ENNReal ι (fun (i : ι) => Set.iInter.{0, 0} ENNReal (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) y (K i)) (fun (hi : Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) y (K i)) => setOf.{0} ENNReal (fun (r : ENNReal) => HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) y r) (U i)))))))) (nhds.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) x)))
+Case conversion may be inaccurate. Consider using '#align emetric.exists_forall_closed_ball_subset_aux₁ EMetric.exists_forall_closedBall_subset_aux₁ₓ'. -/
 theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU : ∀ i, IsOpen (U i))
     (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) (x : X) :
     ∃ r : ℝ,
@@ -80,8 +92,14 @@ theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU
   rcases this.exists_gt with ⟨r, hr0, hr⟩
   refine' ⟨r, hr.mono fun y hy => ⟨hr0, _⟩⟩
   rwa [mem_preimage, mem_Inter₂]
-#align emetric.exists_forall_closed_ball_subset_aux₁ Emetric.exists_forall_closedBall_subset_aux₁
-
+#align emetric.exists_forall_closed_ball_subset_aux₁ EMetric.exists_forall_closedBall_subset_aux₁
+
+/- warning: emetric.exists_forall_closed_ball_subset_aux₂ -> EMetric.exists_forall_closedBall_subset_aux₂ is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)} (y : X), Convex.{0, 0} Real Real Real.orderedSemiring Real.addCommMonoid (Mul.toSMul.{0} Real Real.hasMul) (Inter.inter.{0} (Set.{0} Real) (Set.hasInter.{0} Real) (Set.Ioi.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) (Set.preimage.{0, 0} Real ENNReal ENNReal.ofReal (Set.iInter.{0, succ u1} ENNReal ι (fun (i : ι) => Set.iInter.{0, 0} ENNReal (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) y (K i)) (fun (hi : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) y (K i)) => setOf.{0} ENNReal (fun (r : ENNReal) => HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) y r) (U i)))))))
+but is expected to have type
+  forall {ι : Type.{u2}} {X : Type.{u1}} [_inst_1 : EMetricSpace.{u1} X] {K : ι -> (Set.{u1} X)} {U : ι -> (Set.{u1} X)} (y : X), Convex.{0, 0} Real Real Real.orderedSemiring Real.instAddCommMonoidReal (Algebra.toSMul.{0, 0} Real Real Real.instCommSemiringReal Real.semiring (NormedAlgebra.toAlgebra.{0, 0} Real Real Real.normedField (SeminormedCommRing.toSeminormedRing.{0} Real (NormedCommRing.toSeminormedCommRing.{0} Real Real.normedCommRing)) (NormedAlgebra.id.{0} Real Real.normedField))) (Inter.inter.{0} (Set.{0} Real) (Set.instInterSet.{0} Real) (Set.Ioi.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal))) (Set.preimage.{0, 0} Real ENNReal ENNReal.ofReal (Set.iInter.{0, succ u2} ENNReal ι (fun (i : ι) => Set.iInter.{0, 0} ENNReal (Membership.mem.{u1, u1} X (Set.{u1} X) (Set.instMembershipSet.{u1} X) y (K i)) (fun (hi : Membership.mem.{u1, u1} X (Set.{u1} X) (Set.instMembershipSet.{u1} X) y (K i)) => setOf.{0} ENNReal (fun (r : ENNReal) => HasSubset.Subset.{u1} (Set.{u1} X) (Set.instHasSubsetSet.{u1} X) (EMetric.closedBall.{u1} X (EMetricSpace.toPseudoEMetricSpace.{u1} X _inst_1) y r) (U i)))))))
+Case conversion may be inaccurate. Consider using '#align emetric.exists_forall_closed_ball_subset_aux₂ EMetric.exists_forall_closedBall_subset_aux₂ₓ'. -/
 theorem exists_forall_closedBall_subset_aux₂ (y : X) :
     Convex ℝ
       (Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), { r | closedBall y r ⊆ U i }) :=
@@ -90,8 +108,14 @@ theorem exists_forall_closedBall_subset_aux₂ (y : X) :
       OrdConnected.preimage_ennreal_ofReal <|
         ordConnected_iInter fun i =>
           ordConnected_iInter fun hi => ordConnected_setOf_closedBall_subset y (U i)
-#align emetric.exists_forall_closed_ball_subset_aux₂ Emetric.exists_forall_closedBall_subset_aux₂
-
+#align emetric.exists_forall_closed_ball_subset_aux₂ EMetric.exists_forall_closedBall_subset_aux₂
+
+/- warning: emetric.exists_continuous_real_forall_closed_ball_subset -> EMetric.exists_continuous_real_forall_closedBall_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (δ : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (forall (x : X), LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) x (ENNReal.ofReal (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) δ x))) (U i)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (δ : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLTReal (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instZeroReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) x (ENNReal.ofReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) δ x))) (U i)))))
+Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_real_forall_closed_ball_subset EMetric.exists_continuous_real_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ)` such that for any `i` and `x ∈ K i`,
@@ -103,8 +127,14 @@ theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K
   simpa only [mem_inter_iff, forall_and, mem_preimage, mem_Inter, @forall_swap ι X] using
     exists_continuous_forall_mem_convex_of_local_const exists_forall_closed_ball_subset_aux₂
       (exists_forall_closed_ball_subset_aux₁ hK hU hKU hfin)
-#align emetric.exists_continuous_real_forall_closed_ball_subset Emetric.exists_continuous_real_forall_closedBall_subset
-
+#align emetric.exists_continuous_real_forall_closed_ball_subset EMetric.exists_continuous_real_forall_closedBall_subset
+
+/- warning: emetric.exists_continuous_nnreal_forall_closed_ball_subset -> EMetric.exists_continuous_nNReal_forall_closedBall_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (δ : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => And (forall (x : X), LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (OfNat.ofNat.{0} NNReal 0 (OfNat.mk.{0} NNReal 0 (Zero.zero.{0} NNReal (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => X -> NNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal ENNReal (HasLiftT.mk.{1, 1} NNReal ENNReal (CoeTCₓ.coe.{1, 1} NNReal ENNReal (coeBase.{1, 1} NNReal ENNReal ENNReal.hasCoe))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => X -> NNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) δ x))) (U i)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) (fun (δ : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (Preorder.toLT.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (PartialOrder.toPreorder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (StrictOrderedSemiring.toPartialOrder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) instNNRealZero)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal)) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) x (ENNReal.some (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal)) δ x))) (U i)))))
+Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`,
@@ -117,8 +147,14 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
   lift δ to C(X, ℝ≥0) using fun x => (hδ₀ x).le
   refine' ⟨δ, hδ₀, fun i x hi => _⟩
   simpa only [← ENNReal.ofReal_coe_nnreal] using hδ i x hi
-#align emetric.exists_continuous_nnreal_forall_closed_ball_subset Emetric.exists_continuous_nNReal_forall_closedBall_subset
-
+#align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subset
+
+/- warning: emetric.exists_continuous_ennreal_forall_closed_ball_subset -> EMetric.exists_continuous_eNNReal_forall_closedBall_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) (fun (δ : ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) => And (forall (x : X), LT.lt.{0} ENNReal (Preorder.toHasLt.{0} ENNReal (PartialOrder.toPreorder.{0} ENNReal (CompleteSemilatticeInf.toPartialOrder.{0} ENNReal (CompleteLattice.toCompleteSemilatticeInf.{0} ENNReal (CompleteLinearOrder.toCompleteLattice.{0} ENNReal ENNReal.completeLinearOrder))))) (OfNat.ofNat.{0} ENNReal 0 (OfNat.mk.{0} ENNReal 0 (Zero.zero.{0} ENNReal ENNReal.hasZero))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) => X -> ENNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1) x (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) => X -> ENNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEmetricSpace.{u2} X _inst_1))) ENNReal.topologicalSpace) δ x)) (U i)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : EMetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) (fun (δ : ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (Preorder.toLT.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (PartialOrder.toPreorder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (OmegaCompletePartialOrder.toPartialOrder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (CompleteLattice.instOmegaCompletePartialOrder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) (CompleteLinearOrder.toCompleteLattice.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) ENNReal.instCompleteLinearOrderENNReal))))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) x) instENNRealZero)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal)) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (EMetric.closedBall.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1) x (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => ENNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal) X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X ENNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoEMetricSpace.toUniformSpace.{u2} X (EMetricSpace.toPseudoEMetricSpace.{u2} X _inst_1))) ENNReal.instTopologicalSpaceENNReal)) δ x)) (U i)))))
+Case conversion may be inaccurate. Consider using '#align emetric.exists_continuous_ennreal_forall_closed_ball_subset EMetric.exists_continuous_eNNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0∞)` such that for any `i` and `x ∈ K i`,
@@ -128,7 +164,7 @@ theorem exists_continuous_eNNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
     ∃ δ : C(X, ℝ≥0∞), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
   let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin
   ⟨ContinuousMap.comp ⟨coe, ENNReal.continuous_coe⟩ δ, fun x => ENNReal.coe_pos.2 (hδ₀ x), hδ⟩
-#align emetric.exists_continuous_ennreal_forall_closed_ball_subset Emetric.exists_continuous_eNNReal_forall_closedBall_subset
+#align emetric.exists_continuous_ennreal_forall_closed_ball_subset EMetric.exists_continuous_eNNReal_forall_closedBall_subset
 
 end Emetric
 
@@ -136,6 +172,12 @@ namespace Metric
 
 variable [MetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
+/- warning: metric.exists_continuous_nnreal_forall_closed_ball_subset -> Metric.exists_continuous_nNReal_forall_closedBall_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : MetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (δ : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => And (forall (x : X), LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (OfNat.ofNat.{0} NNReal 0 (OfNat.mk.{0} NNReal 0 (Zero.zero.{0} NNReal (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => X -> NNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (Metric.closedBall.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) (fun (_x : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) => X -> NNReal) (ContinuousMap.hasCoeToFun.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.topologicalSpace) δ x))) (U i)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : MetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) (fun (δ : ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (Preorder.toLT.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (PartialOrder.toPreorder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) (StrictOrderedSemiring.toPartialOrder.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) x) instNNRealZero)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal)) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (Metric.closedBall.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1) x (NNReal.toReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => NNReal) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal) X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X NNReal (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) NNReal.instTopologicalSpaceNNReal)) δ x))) (U i)))))
+Case conversion may be inaccurate. Consider using '#align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
 positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`, we have
@@ -144,12 +186,18 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ≥0), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
   by
-  rcases Emetric.exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin with ⟨δ, hδ0, hδ⟩
+  rcases EMetric.exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin with ⟨δ, hδ0, hδ⟩
   refine' ⟨δ, hδ0, fun i x hx => _⟩
   rw [← emetric_closed_ball_nnreal]
   exact hδ i x hx
 #align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subset
 
+/- warning: metric.exists_continuous_real_forall_closed_ball_subset -> Metric.exists_continuous_real_forall_closedBall_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : MetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (δ : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (forall (x : X), LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) δ x)) (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (Metric.closedBall.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1) x (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) δ x)) (U i)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : MetricSpace.{u2} X] {K : ι -> (Set.{u2} X)} {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsClosed.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (K i)) -> (forall (i : ι), IsOpen.{u2} X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (U i)) -> (forall (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (K i) (U i)) -> (LocallyFinite.{u1, u2} ι X (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) K) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (δ : ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (forall (x : X), LT.lt.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLTReal (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 0 (Zero.toOfNat0.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instZeroReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) δ x)) (forall (i : ι) (x : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x (K i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (Metric.closedBall.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1) x (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) _x) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real (UniformSpace.toTopologicalSpace.{u2} X (PseudoMetricSpace.toUniformSpace.{u2} X (MetricSpace.toPseudoMetricSpace.{u2} X _inst_1))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) δ x)) (U i)))))
+Case conversion may be inaccurate. Consider using '#align metric.exists_continuous_real_forall_closed_ball_subset Metric.exists_continuous_real_forall_closedBall_subsetₓ'. -/
 /-- Let `X` be a metric space. Let `K : ι → set X` be a locally finite family of closed sets, let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
 positive continuous function `δ : C(X, ℝ)` such that for any `i` and `x ∈ K i`, we have
Diff
@@ -88,8 +88,8 @@ theorem exists_forall_closedBall_subset_aux₂ (y : X) :
   (convex_Ioi _).inter <|
     OrdConnected.convex <|
       OrdConnected.preimage_ennreal_ofReal <|
-        ordConnected_interᵢ fun i =>
-          ordConnected_interᵢ fun hi => ordConnected_setOf_closedBall_subset y (U i)
+        ordConnected_iInter fun i =>
+          ordConnected_iInter fun hi => ordConnected_setOf_closedBall_subset y (U i)
 #align emetric.exists_forall_closed_ball_subset_aux₂ Emetric.exists_forall_closedBall_subset_aux₂
 
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
Diff
@@ -38,7 +38,7 @@ variable {ι X : Type _}
 
 namespace Emetric
 
-variable [EmetricSpace X] {K : ι → Set X} {U : ι → Set X}
+variable [EMetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
 /-- Let `K : ι → set X` be a locally finitie family of closed sets in an emetric space. Let
 `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then for any point
Diff
@@ -63,7 +63,7 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
   apply hR
   calc
     edist z x ≤ edist z p.2 + edist p.2 x := edist_triangle _ _ _
-    _ ≤ p.1 + (R - p.1) := add_le_add hz <| le_trans hp.2 <| tsub_le_tsub_left hp.1.out.le _
+    _ ≤ p.1 + (R - p.1) := (add_le_add hz <| le_trans hp.2 <| tsub_le_tsub_left hp.1.out.le _)
     _ = R := add_tsub_cancel_of_le (lt_trans hp.1 hrR).le
     
 #align emetric.eventually_nhds_zero_forall_closed_ball_subset Emetric.eventually_nhds_zero_forall_closedBall_subset
Diff
@@ -30,7 +30,7 @@ metric space, partition of unity, locally finite
 -/
 
 
-open Topology Ennreal BigOperators NNReal Filter
+open Topology ENNReal BigOperators NNReal Filter
 
 open Set Function Filter TopologicalSpace
 
@@ -72,10 +72,10 @@ theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU
     (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) (x : X) :
     ∃ r : ℝ,
       ∀ᶠ y in 𝓝 x,
-        r ∈ Ioi (0 : ℝ) ∩ Ennreal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), { r | closedBall y r ⊆ U i } :=
+        r ∈ Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), { r | closedBall y r ⊆ U i } :=
   by
   have :=
-    (ennreal.continuous_of_real.tendsto' 0 0 Ennreal.ofReal_zero).Eventually
+    (ennreal.continuous_of_real.tendsto' 0 0 ENNReal.ofReal_zero).Eventually
       (eventually_nhds_zero_forall_closed_ball_subset hK hU hKU hfin x).curry
   rcases this.exists_gt with ⟨r, hr0, hr⟩
   refine' ⟨r, hr.mono fun y hy => ⟨hr0, _⟩⟩
@@ -84,7 +84,7 @@ theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU
 
 theorem exists_forall_closedBall_subset_aux₂ (y : X) :
     Convex ℝ
-      (Ioi (0 : ℝ) ∩ Ennreal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), { r | closedBall y r ⊆ U i }) :=
+      (Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (hi : y ∈ K i), { r | closedBall y r ⊆ U i }) :=
   (convex_Ioi _).inter <|
     OrdConnected.convex <|
       OrdConnected.preimage_ennreal_ofReal <|
@@ -98,7 +98,7 @@ exists a positive continuous function `δ : C(X, ℝ)` such that for any `i` and
 we have `emetric.closed_ball x (ennreal.of_real (δ x)) ⊆ U i`. -/
 theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
-    ∃ δ : C(X, ℝ), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (Ennreal.ofReal <| δ x) ⊆ U i :=
+    ∃ δ : C(X, ℝ), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (ENNReal.ofReal <| δ x) ⊆ U i :=
   by
   simpa only [mem_inter_iff, forall_and, mem_preimage, mem_Inter, @forall_swap ι X] using
     exists_continuous_forall_mem_convex_of_local_const exists_forall_closed_ball_subset_aux₂
@@ -116,19 +116,19 @@ theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed
   rcases exists_continuous_real_forall_closed_ball_subset hK hU hKU hfin with ⟨δ, hδ₀, hδ⟩
   lift δ to C(X, ℝ≥0) using fun x => (hδ₀ x).le
   refine' ⟨δ, hδ₀, fun i x hi => _⟩
-  simpa only [← Ennreal.ofReal_coe_nNReal] using hδ i x hi
+  simpa only [← ENNReal.ofReal_coe_nnreal] using hδ i x hi
 #align emetric.exists_continuous_nnreal_forall_closed_ball_subset Emetric.exists_continuous_nNReal_forall_closedBall_subset
 
 /-- Let `X` be an extended metric space. Let `K : ι → set X` be a locally finite family of closed
 sets, let `U : ι → set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0∞)` such that for any `i` and `x ∈ K i`,
 we have `emetric.closed_ball x (δ x) ⊆ U i`. -/
-theorem exists_continuous_ennreal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
+theorem exists_continuous_eNNReal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ≥0∞), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
   let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin
-  ⟨ContinuousMap.comp ⟨coe, Ennreal.continuous_coe⟩ δ, fun x => Ennreal.coe_pos.2 (hδ₀ x), hδ⟩
-#align emetric.exists_continuous_ennreal_forall_closed_ball_subset Emetric.exists_continuous_ennreal_forall_closedBall_subset
+  ⟨ContinuousMap.comp ⟨coe, ENNReal.continuous_coe⟩ δ, fun x => ENNReal.coe_pos.2 (hδ₀ x), hδ⟩
+#align emetric.exists_continuous_ennreal_forall_closed_ball_subset Emetric.exists_continuous_eNNReal_forall_closedBall_subset
 
 end Emetric
 

Changes in mathlib4

mathlib3
mathlib4
chore: superfluous parentheses part 2 (#12131)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -57,7 +57,7 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
   apply hR
   calc
     edist z x ≤ edist z p.2 + edist p.2 x := edist_triangle _ _ _
-    _ ≤ p.1 + (R - p.1) := (add_le_add hz <| le_trans hp.2 <| tsub_le_tsub_left hp.1.out.le _)
+    _ ≤ p.1 + (R - p.1) := add_le_add hz <| le_trans hp.2 <| tsub_le_tsub_left hp.1.out.le _
     _ = R := add_tsub_cancel_of_le (lt_trans (by exact hp.1) hrR).le
 #align emetric.eventually_nhds_zero_forall_closed_ball_subset EMetric.eventually_nhds_zero_forall_closedBall_subset
 
chore: rename declarations containing nNReal to nnreal (#10372)
Diff
@@ -97,14 +97,14 @@ theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K
 sets, let `U : ι → Set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
 exists a positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`,
 we have `EMetric.closedBall x (δ x) ⊆ U i`. -/
-theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
+theorem exists_continuous_nnreal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ≥0), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i := by
   rcases exists_continuous_real_forall_closedBall_subset hK hU hKU hfin with ⟨δ, hδ₀, hδ⟩
   lift δ to C(X, ℝ≥0) using fun x => (hδ₀ x).le
   refine' ⟨δ, hδ₀, fun i x hi => _⟩
   simpa only [← ENNReal.ofReal_coe_nnreal] using hδ i x hi
-#align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nNReal_forall_closedBall_subset
+#align emetric.exists_continuous_nnreal_forall_closed_ball_subset EMetric.exists_continuous_nnreal_forall_closedBall_subset
 
 /-- Let `X` be an extended metric space. Let `K : ι → Set X` be a locally finite family of closed
 sets, let `U : ι → Set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there
@@ -113,7 +113,7 @@ we have `EMetric.closedBall x (δ x) ⊆ U i`. -/
 theorem exists_continuous_eNNReal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ≥0∞), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
-  let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin
+  let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nnreal_forall_closedBall_subset hK hU hKU hfin
   ⟨ContinuousMap.comp ⟨Coe.coe, ENNReal.continuous_coe⟩ δ, fun x => ENNReal.coe_pos.2 (hδ₀ x), hδ⟩
 #align emetric.exists_continuous_ennreal_forall_closed_ball_subset EMetric.exists_continuous_eNNReal_forall_closedBall_subset
 
@@ -127,14 +127,14 @@ variable [MetricSpace X] {K : ι → Set X} {U : ι → Set X}
 `U : ι → Set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
 positive continuous function `δ : C(X, ℝ≥0)` such that for any `i` and `x ∈ K i`, we have
 `Metric.closedBall x (δ x) ⊆ U i`. -/
-theorem exists_continuous_nNReal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
+theorem exists_continuous_nnreal_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ≥0), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i := by
-  rcases EMetric.exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin with ⟨δ, hδ0, hδ⟩
+  rcases EMetric.exists_continuous_nnreal_forall_closedBall_subset hK hU hKU hfin with ⟨δ, hδ0, hδ⟩
   refine' ⟨δ, hδ0, fun i x hx => _⟩
   rw [← emetric_closedBall_nnreal]
   exact hδ i x hx
-#align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nNReal_forall_closedBall_subset
+#align metric.exists_continuous_nnreal_forall_closed_ball_subset Metric.exists_continuous_nnreal_forall_closedBall_subset
 
 /-- Let `X` be a metric space. Let `K : ι → Set X` be a locally finite family of closed sets, let
 `U : ι → Set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then there exists a
@@ -143,7 +143,7 @@ positive continuous function `δ : C(X, ℝ)` such that for any `i` and `x ∈ K
 theorem exists_continuous_real_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) :
     ∃ δ : C(X, ℝ), (∀ x, 0 < δ x) ∧ ∀ (i), ∀ x ∈ K i, closedBall x (δ x) ⊆ U i :=
-  let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nNReal_forall_closedBall_subset hK hU hKU hfin
+  let ⟨δ, hδ₀, hδ⟩ := exists_continuous_nnreal_forall_closedBall_subset hK hU hKU hfin
   ⟨ContinuousMap.comp ⟨Coe.coe, NNReal.continuous_coe⟩ δ, hδ₀, hδ⟩
 #align metric.exists_continuous_real_forall_closed_ball_subset Metric.exists_continuous_real_forall_closedBall_subset
 
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 -/
 import Mathlib.Topology.EMetricSpace.Paracompact
+import Mathlib.Topology.Instances.ENNReal
 import Mathlib.Analysis.Convex.PartitionOfUnity
 
 #align_import topology.metric_space.partition_of_unity from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
chore: move 2 files to a new folder (#6853)

Later I'm going to split files like Lipschitz into 2: one in EMetricSpace/ and one in MetricSpace/.

Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 -/
-import Mathlib.Topology.MetricSpace.EMetricParacompact
+import Mathlib.Topology.EMetricSpace.Paracompact
 import Mathlib.Analysis.Convex.PartitionOfUnity
 
 #align_import topology.metric_space.partition_of_unity from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -28,7 +28,7 @@ metric space, partition of unity, locally finite
 
 open Topology ENNReal BigOperators NNReal Filter Set Function TopologicalSpace
 
-variable {ι X : Type _}
+variable {ι X : Type*}
 
 namespace EMetric
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module topology.metric_space.partition_of_unity
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.MetricSpace.EMetricParacompact
 import Mathlib.Analysis.Convex.PartitionOfUnity
 
+#align_import topology.metric_space.partition_of_unity from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
 /-!
 # Lemmas about (e)metric spaces that need partition of unity
 
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -66,7 +66,7 @@ theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i
 theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU : ∀ i, IsOpen (U i))
     (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) (x : X) :
     ∃ r : ℝ, ∀ᶠ y in 𝓝 x,
-      r ∈ Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (_hi : y ∈ K i), { r | closedBall y r ⊆ U i } := by
+      r ∈ Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (_ : y ∈ K i), { r | closedBall y r ⊆ U i } := by
   have := (ENNReal.continuous_ofReal.tendsto' 0 0 ENNReal.ofReal_zero).eventually
     (eventually_nhds_zero_forall_closedBall_subset hK hU hKU hfin x).curry
   rcases this.exists_gt with ⟨r, hr0, hr⟩
@@ -76,7 +76,7 @@ theorem exists_forall_closedBall_subset_aux₁ (hK : ∀ i, IsClosed (K i)) (hU
 
 theorem exists_forall_closedBall_subset_aux₂ (y : X) :
     Convex ℝ
-      (Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (_hi : y ∈ K i), { r | closedBall y r ⊆ U i }) :=
+      (Ioi (0 : ℝ) ∩ ENNReal.ofReal ⁻¹' ⋂ (i) (_ : y ∈ K i), { r | closedBall y r ⊆ U i }) :=
   (convex_Ioi _).inter <| OrdConnected.convex <| OrdConnected.preimage_ennreal_ofReal <|
     ordConnected_iInter fun i => ordConnected_iInter fun (_ : y ∈ K i) =>
       ordConnected_setOf_closedBall_subset y (U i)
refactor: use the typeclass SProd to implement overloaded notation · ×ˢ · (#4200)

Currently, the following notations are changed from · ×ˢ · because Lean 4 can't deal with ambiguous notations. | Definition | Notation | | :

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com>

Diff
@@ -43,8 +43,8 @@ variable [EMetricSpace X] {K : ι → Set X} {U : ι → Set X}
 `y ∈ K i`, then `EMetric.closedBall y r ⊆ U i`. -/
 theorem eventually_nhds_zero_forall_closedBall_subset (hK : ∀ i, IsClosed (K i))
     (hU : ∀ i, IsOpen (U i)) (hKU : ∀ i, K i ⊆ U i) (hfin : LocallyFinite K) (x : X) :
-    ∀ᶠ p : ℝ≥0∞ × X in 𝓝 0 ×ᶠ 𝓝 x, ∀ i, p.2 ∈ K i → closedBall p.2 p.1 ⊆ U i := by
-  suffices ∀ i, x ∈ K i → ∀ᶠ p : ℝ≥0∞ × X in 𝓝 0 ×ᶠ 𝓝 x, closedBall p.2 p.1 ⊆ U i by
+    ∀ᶠ p : ℝ≥0∞ × X in 𝓝 0 ×ˢ 𝓝 x, ∀ i, p.2 ∈ K i → closedBall p.2 p.1 ⊆ U i := by
+  suffices ∀ i, x ∈ K i → ∀ᶠ p : ℝ≥0∞ × X in 𝓝 0 ×ˢ 𝓝 x, closedBall p.2 p.1 ⊆ U i by
     apply mp_mem ((eventually_all_finite (hfin.point_finite x)).2 this)
       (mp_mem (@tendsto_snd ℝ≥0∞ _ (𝓝 0) _ _ (hfin.iInter_compl_mem_nhds hK x)) _)
     apply univ_mem'
chore: tidy various files (#4304)

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com>

Diff
@@ -37,7 +37,7 @@ namespace EMetric
 
 variable [EMetricSpace X] {K : ι → Set X} {U : ι → Set X}
 
-/-- Let `K : ι → Set X` be a locally finitie family of closed sets in an emetric space. Let
+/-- Let `K : ι → Set X` be a locally finite family of closed sets in an emetric space. Let
 `U : ι → Set X` be a family of open sets such that `K i ⊆ U i` for all `i`. Then for any point
 `x : X`, for sufficiently small `r : ℝ≥0∞` and for `y` sufficiently close to `x`, for all `i`, if
 `y ∈ K i`, then `EMetric.closedBall y r ⊆ U i`. -/
feat: port Topology.MetricSpace.PartitionOfUnity (#3883)

Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: int-y1 <jason_yuen2007@hotmail.com>

Dependencies 10 + 668

669 files ported (98.5%)
290309 lines ported (98.2%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file