topology.partition_of_unityMathlib.Topology.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
@@ -6,7 +6,7 @@ Authors: Yury Kudryashov
 import Algebra.BigOperators.Finprod
 import SetTheory.Ordinal.Basic
 import Topology.ContinuousFunction.Algebra
-import Topology.Paracompact
+import Topology.Compactness.Paracompact
 import Topology.ShrinkingLemma
 import Topology.UrysohnsLemma
 
Diff
@@ -298,7 +298,7 @@ protected def single (i : ι) (s : Set X) : BumpCovering ι X s
     refine' ⟨univ, univ_mem, (finite_singleton i).Subset _⟩
     rintro j ⟨x, hx, -⟩
     contrapose! hx
-    rw [mem_singleton_iff] at hx 
+    rw [mem_singleton_iff] at hx
     simp [hx]
   nonneg' := le_update_iff.2 ⟨fun x => zero_le_one, fun _ _ => le_rfl⟩
   le_one' := update_le_iff.2 ⟨le_rfl, fun _ _ _ => zero_le_one⟩
@@ -467,7 +467,7 @@ theorem toPOUFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     f.toPOUFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j x) :=
   by
   refine' congr_arg _ (finprod_cond_eq_prod_of_cond_iff _ fun j hj => _)
-  rw [Ne.def, sub_eq_self] at hj 
+  rw [Ne.def, sub_eq_self] at hj
   rw [Finset.mem_filter, Iff.comm, and_iff_right_iff_imp]
   exact flip (ht j) hj
 #align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPOUFun_eq_mul_prod
Diff
@@ -376,7 +376,7 @@ theorem exists_isSubordinate_of_locallyFinite [NormalSpace X] (hs : IsClosed s)
   let ⟨f, _, hfU⟩ :=
     exists_isSubordinate_of_locallyFinite_of_prop (fun _ => True)
       (fun s t hs ht hd =>
-        (exists_continuous_zero_one_of_closed hs ht hd).imp fun f hf => ⟨trivial, hf⟩)
+        (exists_continuous_zero_one_of_isClosed hs ht hd).imp fun f hf => ⟨trivial, hf⟩)
       hs U ho hf hU
   ⟨f, hfU⟩
 #align bump_covering.exists_is_subordinate_of_locally_finite BumpCovering.exists_isSubordinate_of_locallyFinite
Diff
@@ -3,12 +3,12 @@ Copyright (c) 2021 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 -/
-import Mathbin.Algebra.BigOperators.Finprod
-import Mathbin.SetTheory.Ordinal.Basic
-import Mathbin.Topology.ContinuousFunction.Algebra
-import Mathbin.Topology.Paracompact
-import Mathbin.Topology.ShrinkingLemma
-import Mathbin.Topology.UrysohnsLemma
+import Algebra.BigOperators.Finprod
+import SetTheory.Ordinal.Basic
+import Topology.ContinuousFunction.Algebra
+import Topology.Paracompact
+import Topology.ShrinkingLemma
+import Topology.UrysohnsLemma
 
 #align_import topology.partition_of_unity from "leanprover-community/mathlib"@"a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea"
 
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2021 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.partition_of_unity
-! leanprover-community/mathlib commit a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.BigOperators.Finprod
 import Mathbin.SetTheory.Ordinal.Basic
@@ -15,6 +10,8 @@ import Mathbin.Topology.Paracompact
 import Mathbin.Topology.ShrinkingLemma
 import Mathbin.Topology.UrysohnsLemma
 
+#align_import topology.partition_of_unity from "leanprover-community/mathlib"@"a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea"
+
 /-!
 # Continuous partition of unity
 
Diff
@@ -436,7 +436,7 @@ theorem ind_apply (x : X) (hx : x ∈ s) : f (f.ind x hx) x = 1 :=
 #align bump_covering.ind_apply BumpCovering.ind_apply
 -/
 
-#print BumpCovering.toPouFun /-
+#print BumpCovering.toPOUFun /-
 /-- Partition of unity defined by a `bump_covering`. We use this auxiliary definition to prove some
 properties of the new family of functions before bundling it into a `partition_of_unity`. Do not use
 this definition, use `bump_function.to_partition_of_unity` instead.
@@ -447,37 +447,37 @@ words, `g i x = ∏ᶠ j < i, (1 - f j x) - ∏ᶠ j ≤ i, (1 - f j x)`, so
 of `1 - f j x` vanishes, and `∑ᶠ i, g i x = 1`.
 
 In order to avoid an assumption `linear_order ι`, we use `well_ordering_rel` instead of `(<)`. -/
-def toPouFun (i : ι) (x : X) : ℝ :=
+def toPOUFun (i : ι) (x : X) : ℝ :=
   f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), (1 - f j x)
-#align bump_covering.to_pou_fun BumpCovering.toPouFun
+#align bump_covering.to_pou_fun BumpCovering.toPOUFun
 -/
 
-#print BumpCovering.toPouFun_zero_of_zero /-
-theorem toPouFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPouFun i x = 0 := by
+#print BumpCovering.toPOUFun_zero_of_zero /-
+theorem toPOUFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPOUFun i x = 0 := by
   rw [to_pou_fun, h, MulZeroClass.zero_mul]
-#align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPouFun_zero_of_zero
+#align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPOUFun_zero_of_zero
 -/
 
-#print BumpCovering.support_toPouFun_subset /-
-theorem support_toPouFun_subset (i : ι) : support (f.toPouFun i) ⊆ support (f i) := fun x =>
-  mt <| f.toPouFun_zero_of_zero
-#align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPouFun_subset
+#print BumpCovering.support_toPOUFun_subset /-
+theorem support_toPOUFun_subset (i : ι) : support (f.toPOUFun i) ⊆ support (f i) := fun x =>
+  mt <| f.toPOUFun_zero_of_zero
+#align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPOUFun_subset
 -/
 
-#print BumpCovering.toPouFun_eq_mul_prod /-
-theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
+#print BumpCovering.toPOUFun_eq_mul_prod /-
+theorem toPOUFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
-    f.toPouFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j x) :=
+    f.toPOUFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j x) :=
   by
   refine' congr_arg _ (finprod_cond_eq_prod_of_cond_iff _ fun j hj => _)
   rw [Ne.def, sub_eq_self] at hj 
   rw [Finset.mem_filter, Iff.comm, and_iff_right_iff_imp]
   exact flip (ht j) hj
-#align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prod
+#align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPOUFun_eq_mul_prod
 -/
 
-#print BumpCovering.sum_toPouFun_eq /-
-theorem sum_toPouFun_eq (x : X) : ∑ᶠ i, f.toPouFun i x = 1 - ∏ᶠ i, (1 - f i x) :=
+#print BumpCovering.sum_toPOUFun_eq /-
+theorem sum_toPOUFun_eq (x : X) : ∑ᶠ i, f.toPOUFun i x = 1 - ∏ᶠ i, (1 - f i x) :=
   by
   set s := (f.point_finite x).toFinset
   have hs : (s : Set ι) = {i | f i x ≠ 0} := finite.coe_to_finset _
@@ -493,13 +493,13 @@ theorem sum_toPouFun_eq (x : X) : ∑ᶠ i, f.toPouFun i x = 1 - ∏ᶠ i, (1 -
   refine' Finset.sum_congr rfl fun i hi => _
   convert f.to_pou_fun_eq_mul_prod _ _ _ fun j hji hj => _
   rwa [finite.mem_to_finset]
-#align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPouFun_eq
+#align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPOUFun_eq
 -/
 
-#print BumpCovering.exists_finset_toPouFun_eventuallyEq /-
-theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
+#print BumpCovering.exists_finset_toPOUFun_eventuallyEq /-
+theorem exists_finset_toPOUFun_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
-      f.toPouFun i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j) :=
+      f.toPOUFun i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j) :=
   by
   rcases f.locally_finite x with ⟨U, hU, hf⟩
   use hf.to_finset
@@ -508,18 +508,18 @@ theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
   apply to_pou_fun_eq_mul_prod
   intro j hji hj
   exact hf.mem_to_finset.2 ⟨y, ⟨hj, hyU⟩⟩
-#align bump_covering.exists_finset_to_pou_fun_eventually_eq BumpCovering.exists_finset_toPouFun_eventuallyEq
+#align bump_covering.exists_finset_to_pou_fun_eventually_eq BumpCovering.exists_finset_toPOUFun_eventuallyEq
 -/
 
-#print BumpCovering.continuous_toPouFun /-
-theorem continuous_toPouFun (i : ι) : Continuous (f.toPouFun i) :=
+#print BumpCovering.continuous_toPOUFun /-
+theorem continuous_toPOUFun (i : ι) : Continuous (f.toPOUFun i) :=
   by
   refine'
     (f i).Continuous.mul <|
       continuous_finprod_cond (fun j _ => continuous_const.sub (f j).Continuous) _
   simp only [mul_support_one_sub]
   exact f.locally_finite
-#align bump_covering.continuous_to_pou_fun BumpCovering.continuous_toPouFun
+#align bump_covering.continuous_to_pou_fun BumpCovering.continuous_toPOUFun
 -/
 
 #print BumpCovering.toPartitionOfUnity /-
@@ -533,8 +533,8 @@ of `1 - f j x` vanishes, and `∑ᶠ i, g i x = 1`.
 In order to avoid an assumption `linear_order ι`, we use `well_ordering_rel` instead of `(<)`. -/
 def toPartitionOfUnity : PartitionOfUnity ι X s
     where
-  toFun i := ⟨f.toPouFun i, f.continuous_toPouFun i⟩
-  locally_finite' := f.LocallyFinite.Subset f.support_toPouFun_subset
+  toFun i := ⟨f.toPOUFun i, f.continuous_toPOUFun i⟩
+  locally_finite' := f.LocallyFinite.Subset f.support_toPOUFun_subset
   nonneg' i x :=
     mul_nonneg (f.NonNeg i x) (finprod_cond_nonneg fun j hj => sub_nonneg.2 <| f.le_one j x)
   sum_eq_one' x hx :=
@@ -561,7 +561,7 @@ theorem toPartitionOfUnity_apply (i : ι) (x : X) :
 theorem toPartitionOfUnity_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPartitionOfUnity i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j x) :=
-  f.toPouFun_eq_mul_prod i x t ht
+  f.toPOUFun_eq_mul_prod i x t ht
 #align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prod
 -/
 
@@ -570,28 +570,28 @@ theorem exists_finset_toPartitionOfUnity_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
       f.toPartitionOfUnity i =ᶠ[𝓝 x]
         f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j) :=
-  f.exists_finset_toPouFun_eventuallyEq i x
+  f.exists_finset_toPOUFun_eventuallyEq i x
 #align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq
 -/
 
 #print BumpCovering.toPartitionOfUnity_zero_of_zero /-
 theorem toPartitionOfUnity_zero_of_zero {i : ι} {x : X} (h : f i x = 0) :
     f.toPartitionOfUnity i x = 0 :=
-  f.toPouFun_zero_of_zero h
+  f.toPOUFun_zero_of_zero h
 #align bump_covering.to_partition_of_unity_zero_of_zero BumpCovering.toPartitionOfUnity_zero_of_zero
 -/
 
 #print BumpCovering.support_toPartitionOfUnity_subset /-
 theorem support_toPartitionOfUnity_subset (i : ι) :
     support (f.toPartitionOfUnity i) ⊆ support (f i) :=
-  f.support_toPouFun_subset i
+  f.support_toPOUFun_subset i
 #align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subset
 -/
 
 #print BumpCovering.sum_toPartitionOfUnity_eq /-
 theorem sum_toPartitionOfUnity_eq (x : X) :
     ∑ᶠ i, f.toPartitionOfUnity i x = 1 - ∏ᶠ i, (1 - f i x) :=
-  f.sum_toPouFun_eq x
+  f.sum_toPOUFun_eq x
 #align bump_covering.sum_to_partition_of_unity_eq BumpCovering.sum_toPartitionOfUnity_eq
 -/
 
Diff
@@ -147,22 +147,31 @@ variable {E : Type _} [AddCommMonoid E] [SMulWithZero ℝ E] [TopologicalSpace E
 instance : CoeFun (PartitionOfUnity ι X s) fun _ => ι → C(X, ℝ) :=
   ⟨toFun⟩
 
+#print PartitionOfUnity.locallyFinite /-
 protected theorem locallyFinite : LocallyFinite fun i => support (f i) :=
   f.locally_finite'
 #align partition_of_unity.locally_finite PartitionOfUnity.locallyFinite
+-/
 
+#print PartitionOfUnity.locallyFinite_tsupport /-
 theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
   f.LocallyFinite.closure
 #align partition_of_unity.locally_finite_tsupport PartitionOfUnity.locallyFinite_tsupport
+-/
 
+#print PartitionOfUnity.nonneg /-
 theorem nonneg (i : ι) (x : X) : 0 ≤ f i x :=
   f.nonneg' i x
 #align partition_of_unity.nonneg PartitionOfUnity.nonneg
+-/
 
+#print PartitionOfUnity.sum_eq_one /-
 theorem sum_eq_one {x : X} (hx : x ∈ s) : ∑ᶠ i, f i x = 1 :=
   f.sum_eq_one' x hx
 #align partition_of_unity.sum_eq_one PartitionOfUnity.sum_eq_one
+-/
 
+#print PartitionOfUnity.exists_pos /-
 /-- If `f` is a partition of unity on `s`, then for every `x ∈ s` there exists an index `i` such
 that `0 < f i x`. -/
 theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x :=
@@ -171,19 +180,27 @@ theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x :=
   contrapose! H
   simpa only [fun i => (H i).antisymm (f.nonneg i x), finsum_zero] using zero_ne_one
 #align partition_of_unity.exists_pos PartitionOfUnity.exists_pos
+-/
 
+#print PartitionOfUnity.sum_le_one /-
 theorem sum_le_one (x : X) : ∑ᶠ i, f i x ≤ 1 :=
   f.sum_le_one' x
 #align partition_of_unity.sum_le_one PartitionOfUnity.sum_le_one
+-/
 
+#print PartitionOfUnity.sum_nonneg /-
 theorem sum_nonneg (x : X) : 0 ≤ ∑ᶠ i, f i x :=
   finsum_nonneg fun i => f.NonNeg i x
 #align partition_of_unity.sum_nonneg PartitionOfUnity.sum_nonneg
+-/
 
+#print PartitionOfUnity.le_one /-
 theorem le_one (i : ι) (x : X) : f i x ≤ 1 :=
   (single_le_finsum i (f.LocallyFinite.point_finite x) fun j => f.NonNeg j x).trans (f.sum_le_one x)
 #align partition_of_unity.le_one PartitionOfUnity.le_one
+-/
 
+#print PartitionOfUnity.continuous_smul /-
 /-- If `f` is a partition of unity on `s : set X` and `g : X → E` is continuous at every point of
 the topological support of some `f i`, then `λ x, f i x • g x` is continuous on the whole space. -/
 theorem continuous_smul {g : X → E} {i : ι} (hg : ∀ x ∈ tsupport (f i), ContinuousAt g x) :
@@ -191,7 +208,9 @@ theorem continuous_smul {g : X → E} {i : ι} (hg : ∀ x ∈ tsupport (f i), C
   continuous_of_tsupport fun x hx =>
     ((f i).ContinuousAt x).smul <| hg x <| tsupport_smul_subset_left _ _ hx
 #align partition_of_unity.continuous_smul PartitionOfUnity.continuous_smul
+-/
 
+#print PartitionOfUnity.continuous_finsum_smul /-
 /-- If `f` is a partition of unity on a set `s : set X` and `g : ι → X → E` is a family of functions
 such that each `g i` is continuous at every point of the topological support of `f i`, then the sum
 `λ x, ∑ᶠ i, f i x • g i x` is continuous on the whole space. -/
@@ -201,6 +220,7 @@ theorem continuous_finsum_smul [ContinuousAdd E] {g : ι → X → E}
   (continuous_finsum fun i => f.continuous_smul (hg i)) <|
     f.LocallyFinite.Subset fun i => support_smul_subset_left _ _
 #align partition_of_unity.continuous_finsum_smul PartitionOfUnity.continuous_finsum_smul
+-/
 
 #print PartitionOfUnity.IsSubordinate /-
 /-- A partition of unity `f i` is subordinate to a family of sets `U i` indexed by the same type if
@@ -212,13 +232,16 @@ def IsSubordinate (U : ι → Set X) : Prop :=
 
 variable {f}
 
+#print PartitionOfUnity.exists_finset_nhd_support_subset /-
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
     ∃ (is : Finset ι) (n : Set X) (hn₁ : n ∈ 𝓝 x) (hn₂ : n ⊆ ⋂ i ∈ is, U i),
       ∀ z ∈ n, (support fun i => f i z) ⊆ is :=
   f.LocallyFinite.exists_finset_nhd_support_subset hso ho x
 #align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subset
+-/
 
+#print PartitionOfUnity.IsSubordinate.continuous_finsum_smul /-
 /-- If `f` is a partition of unity that is subordinate to a family of open sets `U i` and
 `g : ι → X → E` is a family of functions such that each `g i` is continuous on `U i`, then the sum
 `λ x, ∑ᶠ i, f i x • g i x` is a continuous function. -/
@@ -227,6 +250,7 @@ theorem IsSubordinate.continuous_finsum_smul [ContinuousAdd E] {U : ι → Set X
     (hg : ∀ i, ContinuousOn (g i) (U i)) : Continuous fun x => ∑ᶠ i, f i x • g i x :=
   f.continuous_finsum_smul fun i x hx => (hg i).ContinuousAt <| (ho i).mem_nhds <| hf i hx
 #align partition_of_unity.is_subordinate.continuous_finsum_smul PartitionOfUnity.IsSubordinate.continuous_finsum_smul
+-/
 
 end PartitionOfUnity
 
@@ -237,25 +261,35 @@ variable {s : Set X} (f : BumpCovering ι X s)
 instance : CoeFun (BumpCovering ι X s) fun _ => ι → C(X, ℝ) :=
   ⟨toFun⟩
 
+#print BumpCovering.locallyFinite /-
 protected theorem locallyFinite : LocallyFinite fun i => support (f i) :=
   f.locally_finite'
 #align bump_covering.locally_finite BumpCovering.locallyFinite
+-/
 
+#print BumpCovering.locallyFinite_tsupport /-
 theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
   f.LocallyFinite.closure
 #align bump_covering.locally_finite_tsupport BumpCovering.locallyFinite_tsupport
+-/
 
+#print BumpCovering.point_finite /-
 protected theorem point_finite (x : X) : {i | f i x ≠ 0}.Finite :=
   f.LocallyFinite.point_finite x
 #align bump_covering.point_finite BumpCovering.point_finite
+-/
 
+#print BumpCovering.nonneg /-
 theorem nonneg (i : ι) (x : X) : 0 ≤ f i x :=
   f.nonneg' i x
 #align bump_covering.nonneg BumpCovering.nonneg
+-/
 
+#print BumpCovering.le_one /-
 theorem le_one (i : ι) (x : X) : f i x ≤ 1 :=
   f.le_one' i x
 #align bump_covering.le_one BumpCovering.le_one
+-/
 
 #print BumpCovering.single /-
 /-- A `bump_covering` that consists of a single function, uniformly equal to one, defined as an
@@ -275,10 +309,12 @@ protected def single (i : ι) (s : Set X) : BumpCovering ι X s
 #align bump_covering.single BumpCovering.single
 -/
 
+#print BumpCovering.coe_single /-
 @[simp]
 theorem coe_single (i : ι) (s : Set X) : ⇑(BumpCovering.single i s) = Pi.single i 1 :=
   rfl
 #align bump_covering.coe_single BumpCovering.coe_single
+-/
 
 instance [Inhabited ι] : Inhabited (BumpCovering ι X s) :=
   ⟨BumpCovering.single default s⟩
@@ -297,6 +333,7 @@ theorem IsSubordinate.mono {f : BumpCovering ι X s} {U V : ι → Set X} (hU :
 #align bump_covering.is_subordinate.mono BumpCovering.IsSubordinate.mono
 -/
 
+#print BumpCovering.exists_isSubordinate_of_locallyFinite_of_prop /-
 /-- If `X` is a normal topological space and `U i`, `i : ι`, is a locally finite open covering of a
 closed set `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. If `X` is a
 paracompact space, then the assumption `hf : locally_finite U` can be omitted, see
@@ -329,6 +366,7 @@ theorem exists_isSubordinate_of_locallyFinite_of_prop [NormalSpace X] (p : (X 
   rcases mem_Union.1 (hsW hx) with ⟨i, hi⟩
   exact ⟨i, ((hf1 i).mono subset_closure).eventuallyEq_of_mem ((hWo i).mem_nhds hi)⟩
 #align bump_covering.exists_is_subordinate_of_locally_finite_of_prop BumpCovering.exists_isSubordinate_of_locallyFinite_of_prop
+-/
 
 #print BumpCovering.exists_isSubordinate_of_locallyFinite /-
 /-- If `X` is a normal topological space and `U i`, `i : ι`, is a locally finite open covering of a
@@ -347,6 +385,7 @@ theorem exists_isSubordinate_of_locallyFinite [NormalSpace X] (hs : IsClosed s)
 #align bump_covering.exists_is_subordinate_of_locally_finite BumpCovering.exists_isSubordinate_of_locallyFinite
 -/
 
+#print BumpCovering.exists_isSubordinate_of_prop /-
 /-- If `X` is a paracompact normal topological space and `U` is an open covering of a closed set
 `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. This version assumes that
 `p : (X → ℝ) → Prop` is a predicate that satisfies Urysohn's lemma, and provides a
@@ -364,6 +403,7 @@ theorem exists_isSubordinate_of_prop [NormalSpace X] [ParacompactSpace X] (p : (
   rcases exists_is_subordinate_of_locally_finite_of_prop p h01 hs V hVo hVf hsV with ⟨f, hfp, hf⟩
   exact ⟨f, hfp, hf.mono hVU⟩
 #align bump_covering.exists_is_subordinate_of_prop BumpCovering.exists_isSubordinate_of_prop
+-/
 
 #print BumpCovering.exists_isSubordinate /-
 /-- If `X` is a paracompact normal topological space and `U` is an open covering of a closed set
@@ -384,13 +424,17 @@ def ind (x : X) (hx : x ∈ s) : ι :=
 #align bump_covering.ind BumpCovering.ind
 -/
 
+#print BumpCovering.eventuallyEq_one /-
 theorem eventuallyEq_one (x : X) (hx : x ∈ s) : f (f.ind x hx) =ᶠ[𝓝 x] 1 :=
   (f.eventuallyEq_one' x hx).choose_spec
 #align bump_covering.eventually_eq_one BumpCovering.eventuallyEq_one
+-/
 
+#print BumpCovering.ind_apply /-
 theorem ind_apply (x : X) (hx : x ∈ s) : f (f.ind x hx) x = 1 :=
   (f.eventuallyEq_one x hx).eq_of_nhds
 #align bump_covering.ind_apply BumpCovering.ind_apply
+-/
 
 #print BumpCovering.toPouFun /-
 /-- Partition of unity defined by a `bump_covering`. We use this auxiliary definition to prove some
@@ -408,14 +452,19 @@ def toPouFun (i : ι) (x : X) : ℝ :=
 #align bump_covering.to_pou_fun BumpCovering.toPouFun
 -/
 
+#print BumpCovering.toPouFun_zero_of_zero /-
 theorem toPouFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPouFun i x = 0 := by
   rw [to_pou_fun, h, MulZeroClass.zero_mul]
 #align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPouFun_zero_of_zero
+-/
 
+#print BumpCovering.support_toPouFun_subset /-
 theorem support_toPouFun_subset (i : ι) : support (f.toPouFun i) ⊆ support (f i) := fun x =>
   mt <| f.toPouFun_zero_of_zero
 #align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPouFun_subset
+-/
 
+#print BumpCovering.toPouFun_eq_mul_prod /-
 theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPouFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j x) :=
@@ -425,7 +474,9 @@ theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
   rw [Finset.mem_filter, Iff.comm, and_iff_right_iff_imp]
   exact flip (ht j) hj
 #align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prod
+-/
 
+#print BumpCovering.sum_toPouFun_eq /-
 theorem sum_toPouFun_eq (x : X) : ∑ᶠ i, f.toPouFun i x = 1 - ∏ᶠ i, (1 - f i x) :=
   by
   set s := (f.point_finite x).toFinset
@@ -443,7 +494,9 @@ theorem sum_toPouFun_eq (x : X) : ∑ᶠ i, f.toPouFun i x = 1 - ∏ᶠ i, (1 -
   convert f.to_pou_fun_eq_mul_prod _ _ _ fun j hji hj => _
   rwa [finite.mem_to_finset]
 #align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPouFun_eq
+-/
 
+#print BumpCovering.exists_finset_toPouFun_eventuallyEq /-
 theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
       f.toPouFun i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j) :=
@@ -456,6 +509,7 @@ theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
   intro j hji hj
   exact hf.mem_to_finset.2 ⟨y, ⟨hj, hyU⟩⟩
 #align bump_covering.exists_finset_to_pou_fun_eventually_eq BumpCovering.exists_finset_toPouFun_eventuallyEq
+-/
 
 #print BumpCovering.continuous_toPouFun /-
 theorem continuous_toPouFun (i : ι) : Continuous (f.toPouFun i) :=
@@ -496,38 +550,50 @@ def toPartitionOfUnity : PartitionOfUnity ι X s
 #align bump_covering.to_partition_of_unity BumpCovering.toPartitionOfUnity
 -/
 
+#print BumpCovering.toPartitionOfUnity_apply /-
 theorem toPartitionOfUnity_apply (i : ι) (x : X) :
     f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), (1 - f j x) :=
   rfl
 #align bump_covering.to_partition_of_unity_apply BumpCovering.toPartitionOfUnity_apply
+-/
 
+#print BumpCovering.toPartitionOfUnity_eq_mul_prod /-
 theorem toPartitionOfUnity_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPartitionOfUnity i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j x) :=
   f.toPouFun_eq_mul_prod i x t ht
 #align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prod
+-/
 
+#print BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq /-
 theorem exists_finset_toPartitionOfUnity_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
       f.toPartitionOfUnity i =ᶠ[𝓝 x]
         f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j) :=
   f.exists_finset_toPouFun_eventuallyEq i x
 #align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq
+-/
 
+#print BumpCovering.toPartitionOfUnity_zero_of_zero /-
 theorem toPartitionOfUnity_zero_of_zero {i : ι} {x : X} (h : f i x = 0) :
     f.toPartitionOfUnity i x = 0 :=
   f.toPouFun_zero_of_zero h
 #align bump_covering.to_partition_of_unity_zero_of_zero BumpCovering.toPartitionOfUnity_zero_of_zero
+-/
 
+#print BumpCovering.support_toPartitionOfUnity_subset /-
 theorem support_toPartitionOfUnity_subset (i : ι) :
     support (f.toPartitionOfUnity i) ⊆ support (f i) :=
   f.support_toPouFun_subset i
 #align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subset
+-/
 
+#print BumpCovering.sum_toPartitionOfUnity_eq /-
 theorem sum_toPartitionOfUnity_eq (x : X) :
     ∑ᶠ i, f.toPartitionOfUnity i x = 1 - ∏ᶠ i, (1 - f i x) :=
   f.sum_toPouFun_eq x
 #align bump_covering.sum_to_partition_of_unity_eq BumpCovering.sum_toPartitionOfUnity_eq
+-/
 
 #print BumpCovering.IsSubordinate.toPartitionOfUnity /-
 theorem IsSubordinate.toPartitionOfUnity {f : BumpCovering ι X s} {U : ι → Set X}
Diff
@@ -107,8 +107,8 @@ structure PartitionOfUnity (ι X : Type _) [TopologicalSpace X] (s : Set X := un
   toFun : ι → C(X, ℝ)
   locally_finite' : LocallyFinite fun i => support (to_fun i)
   nonneg' : 0 ≤ to_fun
-  sum_eq_one' : ∀ x ∈ s, (∑ᶠ i, to_fun i x) = 1
-  sum_le_one' : ∀ x, (∑ᶠ i, to_fun i x) ≤ 1
+  sum_eq_one' : ∀ x ∈ s, ∑ᶠ i, to_fun i x = 1
+  sum_le_one' : ∀ x, ∑ᶠ i, to_fun i x ≤ 1
 #align partition_of_unity PartitionOfUnity
 -/
 
@@ -159,7 +159,7 @@ theorem nonneg (i : ι) (x : X) : 0 ≤ f i x :=
   f.nonneg' i x
 #align partition_of_unity.nonneg PartitionOfUnity.nonneg
 
-theorem sum_eq_one {x : X} (hx : x ∈ s) : (∑ᶠ i, f i x) = 1 :=
+theorem sum_eq_one {x : X} (hx : x ∈ s) : ∑ᶠ i, f i x = 1 :=
   f.sum_eq_one' x hx
 #align partition_of_unity.sum_eq_one PartitionOfUnity.sum_eq_one
 
@@ -172,7 +172,7 @@ theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x :=
   simpa only [fun i => (H i).antisymm (f.nonneg i x), finsum_zero] using zero_ne_one
 #align partition_of_unity.exists_pos PartitionOfUnity.exists_pos
 
-theorem sum_le_one (x : X) : (∑ᶠ i, f i x) ≤ 1 :=
+theorem sum_le_one (x : X) : ∑ᶠ i, f i x ≤ 1 :=
   f.sum_le_one' x
 #align partition_of_unity.sum_le_one PartitionOfUnity.sum_le_one
 
@@ -404,7 +404,7 @@ of `1 - f j x` vanishes, and `∑ᶠ i, g i x = 1`.
 
 In order to avoid an assumption `linear_order ι`, we use `well_ordering_rel` instead of `(<)`. -/
 def toPouFun (i : ι) (x : X) : ℝ :=
-  f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), 1 - f j x
+  f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), (1 - f j x)
 #align bump_covering.to_pou_fun BumpCovering.toPouFun
 -/
 
@@ -418,7 +418,7 @@ theorem support_toPouFun_subset (i : ι) : support (f.toPouFun i) ⊆ support (f
 
 theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
-    f.toPouFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j x :=
+    f.toPouFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j x) :=
   by
   refine' congr_arg _ (finprod_cond_eq_prod_of_cond_iff _ fun j hj => _)
   rw [Ne.def, sub_eq_self] at hj 
@@ -426,7 +426,7 @@ theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
   exact flip (ht j) hj
 #align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prod
 
-theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 - f i x :=
+theorem sum_toPouFun_eq (x : X) : ∑ᶠ i, f.toPouFun i x = 1 - ∏ᶠ i, (1 - f i x) :=
   by
   set s := (f.point_finite x).toFinset
   have hs : (s : Set ι) = {i | f i x ≠ 0} := finite.coe_to_finset _
@@ -446,7 +446,7 @@ theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 -
 
 theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
-      f.toPouFun i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j :=
+      f.toPouFun i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j) :=
   by
   rcases f.locally_finite x with ⟨U, hU, hf⟩
   use hf.to_finset
@@ -497,19 +497,20 @@ def toPartitionOfUnity : PartitionOfUnity ι X s
 -/
 
 theorem toPartitionOfUnity_apply (i : ι) (x : X) :
-    f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), 1 - f j x :=
+    f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), (1 - f j x) :=
   rfl
 #align bump_covering.to_partition_of_unity_apply BumpCovering.toPartitionOfUnity_apply
 
 theorem toPartitionOfUnity_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
-    f.toPartitionOfUnity i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j x :=
+    f.toPartitionOfUnity i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j x) :=
   f.toPouFun_eq_mul_prod i x t ht
 #align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prod
 
 theorem exists_finset_toPartitionOfUnity_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
-      f.toPartitionOfUnity i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j :=
+      f.toPartitionOfUnity i =ᶠ[𝓝 x]
+        f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, (1 - f j) :=
   f.exists_finset_toPouFun_eventuallyEq i x
 #align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq
 
@@ -524,7 +525,7 @@ theorem support_toPartitionOfUnity_subset (i : ι) :
 #align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subset
 
 theorem sum_toPartitionOfUnity_eq (x : X) :
-    (∑ᶠ i, f.toPartitionOfUnity i x) = 1 - ∏ᶠ i, 1 - f i x :=
+    ∑ᶠ i, f.toPartitionOfUnity i x = 1 - ∏ᶠ i, (1 - f i x) :=
   f.sum_toPouFun_eq x
 #align bump_covering.sum_to_partition_of_unity_eq BumpCovering.sum_toPartitionOfUnity_eq
 
Diff
@@ -245,7 +245,7 @@ theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
   f.LocallyFinite.closure
 #align bump_covering.locally_finite_tsupport BumpCovering.locallyFinite_tsupport
 
-protected theorem point_finite (x : X) : { i | f i x ≠ 0 }.Finite :=
+protected theorem point_finite (x : X) : {i | f i x ≠ 0}.Finite :=
   f.LocallyFinite.point_finite x
 #align bump_covering.point_finite BumpCovering.point_finite
 
@@ -429,7 +429,7 @@ theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
 theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 - f i x :=
   by
   set s := (f.point_finite x).toFinset
-  have hs : (s : Set ι) = { i | f i x ≠ 0 } := finite.coe_to_finset _
+  have hs : (s : Set ι) = {i | f i x ≠ 0} := finite.coe_to_finset _
   have A : (support fun i => to_pou_fun f i x) ⊆ s :=
     by
     rw [hs]
@@ -450,7 +450,7 @@ theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
   by
   rcases f.locally_finite x with ⟨U, hU, hf⟩
   use hf.to_finset
-  filter_upwards [hU]with y hyU
+  filter_upwards [hU] with y hyU
   simp only [Pi.mul_apply, Finset.prod_apply]
   apply to_pou_fun_eq_mul_prod
   intro j hji hj
Diff
@@ -214,7 +214,7 @@ variable {f}
 
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
-    ∃ (is : Finset ι)(n : Set X)(hn₁ : n ∈ 𝓝 x)(hn₂ : n ⊆ ⋂ i ∈ is, U i),
+    ∃ (is : Finset ι) (n : Set X) (hn₁ : n ∈ 𝓝 x) (hn₂ : n ⊆ ⋂ i ∈ is, U i),
       ∀ z ∈ n, (support fun i => f i z) ⊆ is :=
   f.LocallyFinite.exists_finset_nhd_support_subset hso ho x
 #align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subset
@@ -267,7 +267,7 @@ protected def single (i : ι) (s : Set X) : BumpCovering ι X s
     refine' ⟨univ, univ_mem, (finite_singleton i).Subset _⟩
     rintro j ⟨x, hx, -⟩
     contrapose! hx
-    rw [mem_singleton_iff] at hx
+    rw [mem_singleton_iff] at hx 
     simp [hx]
   nonneg' := le_update_iff.2 ⟨fun x => zero_le_one, fun _ _ => le_rfl⟩
   le_one' := update_le_iff.2 ⟨le_rfl, fun _ _ _ => zero_le_one⟩
@@ -421,7 +421,7 @@ theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     f.toPouFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j x :=
   by
   refine' congr_arg _ (finprod_cond_eq_prod_of_cond_iff _ fun j hj => _)
-  rw [Ne.def, sub_eq_self] at hj
+  rw [Ne.def, sub_eq_self] at hj 
   rw [Finset.mem_filter, Iff.comm, and_iff_right_iff_imp]
   exact flip (ht j) hj
 #align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prod
Diff
@@ -85,7 +85,7 @@ universe u v
 
 open Function Set Filter
 
-open BigOperators Topology Classical
+open scoped BigOperators Topology Classical
 
 noncomputable section
 
Diff
@@ -147,52 +147,22 @@ variable {E : Type _} [AddCommMonoid E] [SMulWithZero ℝ E] [TopologicalSpace E
 instance : CoeFun (PartitionOfUnity ι X s) fun _ => ι → C(X, ℝ) :=
   ⟨toFun⟩
 
-/- warning: partition_of_unity.locally_finite -> PartitionOfUnity.locallyFinite is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i)))
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.locally_finite PartitionOfUnity.locallyFiniteₓ'. -/
 protected theorem locallyFinite : LocallyFinite fun i => support (f i) :=
   f.locally_finite'
 #align partition_of_unity.locally_finite PartitionOfUnity.locallyFinite
 
-/- warning: partition_of_unity.locally_finite_tsupport -> PartitionOfUnity.locallyFinite_tsupport is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => tsupport.{u2, 0} X Real Real.hasZero _inst_1 (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => tsupport.{u2, 0} X Real Real.instZeroReal _inst_1 (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i)))
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.locally_finite_tsupport PartitionOfUnity.locallyFinite_tsupportₓ'. -/
 theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
   f.LocallyFinite.closure
 #align partition_of_unity.locally_finite_tsupport PartitionOfUnity.locallyFinite_tsupport
 
-/- warning: partition_of_unity.nonneg -> PartitionOfUnity.nonneg is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} Real Real.hasLe (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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (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 _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x)
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.nonneg PartitionOfUnity.nonnegₓ'. -/
 theorem nonneg (i : ι) (x : X) : 0 ≤ f i x :=
   f.nonneg' i x
 #align partition_of_unity.nonneg PartitionOfUnity.nonneg
 
-/- warning: partition_of_unity.sum_eq_one -> PartitionOfUnity.sum_eq_one is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {x : X}, (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s) -> (Eq.{1} Real (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {x : X}, (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s) -> (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (finsum.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instAddCommMonoidReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x)) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)))
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.sum_eq_one PartitionOfUnity.sum_eq_oneₓ'. -/
 theorem sum_eq_one {x : X} (hx : x ∈ s) : (∑ᶠ i, f i x) = 1 :=
   f.sum_eq_one' x hx
 #align partition_of_unity.sum_eq_one PartitionOfUnity.sum_eq_one
 
-/- warning: partition_of_unity.exists_pos -> PartitionOfUnity.exists_pos is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {x : X}, (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s) -> (Exists.{succ u1} ι (fun (i : ι) => 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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {x : X}, (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s) -> (Exists.{succ u1} ι (fun (i : ι) => 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 _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x)))
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.exists_pos PartitionOfUnity.exists_posₓ'. -/
 /-- If `f` is a partition of unity on `s`, then for every `x ∈ s` there exists an index `i` such
 that `0 < f i x`. -/
 theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x :=
@@ -202,42 +172,18 @@ theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x :=
   simpa only [fun i => (H i).antisymm (f.nonneg i x), finsum_zero] using zero_ne_one
 #align partition_of_unity.exists_pos PartitionOfUnity.exists_pos
 
-/- warning: partition_of_unity.sum_le_one -> PartitionOfUnity.sum_le_one is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (x : X), LE.le.{0} Real Real.hasLe (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (finsum.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instAddCommMonoidReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x)) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal))
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.sum_le_one PartitionOfUnity.sum_le_oneₓ'. -/
 theorem sum_le_one (x : X) : (∑ᶠ i, f i x) ≤ 1 :=
   f.sum_le_one' x
 #align partition_of_unity.sum_le_one PartitionOfUnity.sum_le_one
 
-/- warning: partition_of_unity.sum_nonneg -> PartitionOfUnity.sum_nonneg is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (x : X), LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (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)) (finsum.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instAddCommMonoidReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x))
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.sum_nonneg PartitionOfUnity.sum_nonnegₓ'. -/
 theorem sum_nonneg (x : X) : 0 ≤ ∑ᶠ i, f i x :=
   finsum_nonneg fun i => f.NonNeg i x
 #align partition_of_unity.sum_nonneg PartitionOfUnity.sum_nonneg
 
-/- warning: partition_of_unity.le_one -> PartitionOfUnity.le_one is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} Real Real.hasLe (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal))
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.le_one PartitionOfUnity.le_oneₓ'. -/
 theorem le_one (i : ι) (x : X) : f i x ≤ 1 :=
   (single_le_finsum i (f.LocallyFinite.point_finite x) fun j => f.NonNeg j x).trans (f.sum_le_one x)
 #align partition_of_unity.le_one PartitionOfUnity.le_one
 
-/- warning: partition_of_unity.continuous_smul -> PartitionOfUnity.continuous_smul is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {E : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} E] [_inst_3 : SMulWithZero.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] [_inst_4 : TopologicalSpace.{u3} E] [_inst_5 : ContinuousSMul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {g : X -> E} {i : ι}, (forall (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (tsupport.{u2, 0} X Real Real.hasZero _inst_1 (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))) -> (ContinuousAt.{u2, u3} X E _inst_1 _inst_4 g x)) -> (Continuous.{u2, u3} X E _inst_1 _inst_4 (fun (x : X) => SMul.smul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (g x)))
-but is expected to have type
-  forall {ι : Type.{u2}} {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] {E : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] [_inst_4 : TopologicalSpace.{u1} E] [_inst_5 : ContinuousSMul.{0, u1} Real E (SMulZeroClass.toSMul.{0, u1} Real E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u3} X} (f : PartitionOfUnity.{u2, u3} ι X _inst_1 s) {g : X -> E} {i : ι}, (forall (x : X), (Membership.mem.{u3, u3} X (Set.{u3} X) (Set.instMembershipSet.{u3} X) x (tsupport.{u3, 0} X Real Real.instZeroReal _inst_1 (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i)))) -> (ContinuousAt.{u3, u1} X E _inst_1 _inst_4 g x)) -> (Continuous.{u3, u1} X E _inst_1 _inst_4 (fun (x : X) => HSMul.hSMul.{0, u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E E (instHSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (SMulZeroClass.toSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i) x) (g x)))
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.continuous_smul PartitionOfUnity.continuous_smulₓ'. -/
 /-- If `f` is a partition of unity on `s : set X` and `g : X → E` is continuous at every point of
 the topological support of some `f i`, then `λ x, f i x • g x` is continuous on the whole space. -/
 theorem continuous_smul {g : X → E} {i : ι} (hg : ∀ x ∈ tsupport (f i), ContinuousAt g x) :
@@ -246,9 +192,6 @@ theorem continuous_smul {g : X → E} {i : ι} (hg : ∀ x ∈ tsupport (f i), C
     ((f i).ContinuousAt x).smul <| hg x <| tsupport_smul_subset_left _ _ hx
 #align partition_of_unity.continuous_smul PartitionOfUnity.continuous_smul
 
-/- warning: partition_of_unity.continuous_finsum_smul -> PartitionOfUnity.continuous_finsum_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.continuous_finsum_smul PartitionOfUnity.continuous_finsum_smulₓ'. -/
 /-- If `f` is a partition of unity on a set `s : set X` and `g : ι → X → E` is a family of functions
 such that each `g i` is continuous at every point of the topological support of `f i`, then the sum
 `λ x, ∑ᶠ i, f i x • g i x` is continuous on the whole space. -/
@@ -269,9 +212,6 @@ def IsSubordinate (U : ι → Set X) : Prop :=
 
 variable {f}
 
-/- warning: partition_of_unity.exists_finset_nhd_support_subset -> PartitionOfUnity.exists_finset_nhd_support_subset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subsetₓ'. -/
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
     ∃ (is : Finset ι)(n : Set X)(hn₁ : n ∈ 𝓝 x)(hn₂ : n ⊆ ⋂ i ∈ is, U i),
@@ -279,9 +219,6 @@ theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordina
   f.LocallyFinite.exists_finset_nhd_support_subset hso ho x
 #align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subset
 
-/- warning: partition_of_unity.is_subordinate.continuous_finsum_smul -> PartitionOfUnity.IsSubordinate.continuous_finsum_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.is_subordinate.continuous_finsum_smul PartitionOfUnity.IsSubordinate.continuous_finsum_smulₓ'. -/
 /-- If `f` is a partition of unity that is subordinate to a family of open sets `U i` and
 `g : ι → X → E` is a family of functions such that each `g i` is continuous on `U i`, then the sum
 `λ x, ∑ᶠ i, f i x • g i x` is a continuous function. -/
@@ -300,52 +237,22 @@ variable {s : Set X} (f : BumpCovering ι X s)
 instance : CoeFun (BumpCovering ι X s) fun _ => ι → C(X, ℝ) :=
   ⟨toFun⟩
 
-/- warning: bump_covering.locally_finite -> BumpCovering.locallyFinite is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)))
-Case conversion may be inaccurate. Consider using '#align bump_covering.locally_finite BumpCovering.locallyFiniteₓ'. -/
 protected theorem locallyFinite : LocallyFinite fun i => support (f i) :=
   f.locally_finite'
 #align bump_covering.locally_finite BumpCovering.locallyFinite
 
-/- warning: bump_covering.locally_finite_tsupport -> BumpCovering.locallyFinite_tsupport is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => tsupport.{u2, 0} X Real Real.hasZero _inst_1 (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => tsupport.{u2, 0} X Real Real.instZeroReal _inst_1 (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)))
-Case conversion may be inaccurate. Consider using '#align bump_covering.locally_finite_tsupport BumpCovering.locallyFinite_tsupportₓ'. -/
 theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
   f.LocallyFinite.closure
 #align bump_covering.locally_finite_tsupport BumpCovering.locallyFinite_tsupport
 
-/- warning: bump_covering.point_finite -> BumpCovering.point_finite is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Set.Finite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Set.Finite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (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))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.point_finite BumpCovering.point_finiteₓ'. -/
 protected theorem point_finite (x : X) : { i | f i x ≠ 0 }.Finite :=
   f.LocallyFinite.point_finite x
 #align bump_covering.point_finite BumpCovering.point_finite
 
-/- warning: bump_covering.nonneg -> BumpCovering.nonneg is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} Real Real.hasLe (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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (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 _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x)
-Case conversion may be inaccurate. Consider using '#align bump_covering.nonneg BumpCovering.nonnegₓ'. -/
 theorem nonneg (i : ι) (x : X) : 0 ≤ f i x :=
   f.nonneg' i x
 #align bump_covering.nonneg BumpCovering.nonneg
 
-/- warning: bump_covering.le_one -> BumpCovering.le_one is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} Real Real.hasLe (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal))
-Case conversion may be inaccurate. Consider using '#align bump_covering.le_one BumpCovering.le_oneₓ'. -/
 theorem le_one (i : ι) (x : X) : f i x ≤ 1 :=
   f.le_one' i x
 #align bump_covering.le_one BumpCovering.le_one
@@ -368,12 +275,6 @@ protected def single (i : ι) (s : Set X) : BumpCovering ι X s
 #align bump_covering.single BumpCovering.single
 -/
 
-/- warning: bump_covering.coe_single -> BumpCovering.coe_single is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] (i : ι) (s : Set.{u2} X), Eq.{max (succ u1) (succ u2)} (ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.single.{u1, u2} ι X _inst_1 i s)) (Pi.single.{u1, u2} ι (fun (i : ι) => ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u1} ι a b)) (fun (i : ι) => ContinuousMap.hasZero.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.hasZero) i (OfNat.ofNat.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (OfNat.mk.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (One.one.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.hasOne.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.hasOne)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] (i : ι) (s : Set.{u2} X), Eq.{max (succ u1) (succ u2)} (ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.single.{u1, u2} ι X _inst_1 i s)) (Pi.single.{u1, u2} ι (fun (i : ι) => ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u1} ι a b)) (fun (i : ι) => ContinuousMap.instZeroContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instZeroReal) i (OfNat.ofNat.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (One.toOfNat1.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instOneContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instOneReal))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.coe_single BumpCovering.coe_singleₓ'. -/
 @[simp]
 theorem coe_single (i : ι) (s : Set X) : ⇑(BumpCovering.single i s) = Pi.single i 1 :=
   rfl
@@ -396,9 +297,6 @@ theorem IsSubordinate.mono {f : BumpCovering ι X s} {U V : ι → Set X} (hU :
 #align bump_covering.is_subordinate.mono BumpCovering.IsSubordinate.mono
 -/
 
-/- warning: bump_covering.exists_is_subordinate_of_locally_finite_of_prop -> BumpCovering.exists_isSubordinate_of_locallyFinite_of_prop is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align bump_covering.exists_is_subordinate_of_locally_finite_of_prop BumpCovering.exists_isSubordinate_of_locallyFinite_of_propₓ'. -/
 /-- If `X` is a normal topological space and `U i`, `i : ι`, is a locally finite open covering of a
 closed set `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. If `X` is a
 paracompact space, then the assumption `hf : locally_finite U` can be omitted, see
@@ -449,9 +347,6 @@ theorem exists_isSubordinate_of_locallyFinite [NormalSpace X] (hs : IsClosed s)
 #align bump_covering.exists_is_subordinate_of_locally_finite BumpCovering.exists_isSubordinate_of_locallyFinite
 -/
 
-/- warning: bump_covering.exists_is_subordinate_of_prop -> BumpCovering.exists_isSubordinate_of_prop is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align bump_covering.exists_is_subordinate_of_prop BumpCovering.exists_isSubordinate_of_propₓ'. -/
 /-- If `X` is a paracompact normal topological space and `U` is an open covering of a closed set
 `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. This version assumes that
 `p : (X → ℝ) → Prop` is a predicate that satisfies Urysohn's lemma, and provides a
@@ -489,22 +384,10 @@ def ind (x : X) (hx : x ∈ s) : ι :=
 #align bump_covering.ind BumpCovering.ind
 -/
 
-/- warning: bump_covering.eventually_eq_one -> BumpCovering.eventuallyEq_one is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s), Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx))) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s), Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx))) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : X) => Real) (fun (i : X) => Real.instOneReal))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.eventually_eq_one BumpCovering.eventuallyEq_oneₓ'. -/
 theorem eventuallyEq_one (x : X) (hx : x ∈ s) : f (f.ind x hx) =ᶠ[𝓝 x] 1 :=
   (f.eventuallyEq_one' x hx).choose_spec
 #align bump_covering.eventually_eq_one BumpCovering.eventuallyEq_one
 
-/- warning: bump_covering.ind_apply -> BumpCovering.ind_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s), Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx)) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s), Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx)) x) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal))
-Case conversion may be inaccurate. Consider using '#align bump_covering.ind_apply BumpCovering.ind_applyₓ'. -/
 theorem ind_apply (x : X) (hx : x ∈ s) : f (f.ind x hx) x = 1 :=
   (f.eventuallyEq_one x hx).eq_of_nhds
 #align bump_covering.ind_apply BumpCovering.ind_apply
@@ -525,32 +408,14 @@ def toPouFun (i : ι) (x : X) : ℝ :=
 #align bump_covering.to_pou_fun BumpCovering.toPouFun
 -/
 
-/- warning: bump_covering.to_pou_fun_zero_of_zero -> BumpCovering.toPouFun_zero_of_zero is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) {i : ι} {x : X}, (Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Eq.{1} Real (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) {i : ι} {x : X}, (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (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))) -> (Eq.{1} Real (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)))
-Case conversion may be inaccurate. Consider using '#align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPouFun_zero_of_zeroₓ'. -/
 theorem toPouFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPouFun i x = 0 := by
   rw [to_pou_fun, h, MulZeroClass.zero_mul]
 #align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPouFun_zero_of_zero
 
-/- warning: bump_covering.support_to_pou_fun_subset -> BumpCovering.support_toPouFun_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (Function.support.{u2, 0} X Real Real.hasZero (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i)) (Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (Function.support.{u2, 0} X Real Real.instZeroReal (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i)) (Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)))
-Case conversion may be inaccurate. Consider using '#align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPouFun_subsetₓ'. -/
 theorem support_toPouFun_subset (i : ι) : support (f.toPouFun i) ⊆ support (f i) := fun x =>
   mt <| f.toPouFun_zero_of_zero
 #align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPouFun_subset
 
-/- warning: bump_covering.to_pou_fun_eq_mul_prod -> BumpCovering.toPouFun_eq_mul_prod is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X) (t : Finset.{u1} ι), (forall (j : ι), (WellOrderingRel.{u1} ι j i) -> (Ne.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) j t)) -> (Eq.{1} Real (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (Finset.prod.{0, u1} Real ι Real.commMonoid (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X) (t : Finset.{u1} ι), (forall (j : ι), (WellOrderingRel.{u1} ι j i) -> (Ne.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x) (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))) -> (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) j t)) -> (Eq.{1} Real (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHMul.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instMulReal) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (Finset.prod.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x)))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prodₓ'. -/
 theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPouFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j x :=
@@ -561,12 +426,6 @@ theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
   exact flip (ht j) hj
 #align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prod
 
-/- warning: bump_covering.sum_to_pou_fun_eq -> BumpCovering.sum_toPouFun_eq is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Eq.{1} Real (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x)) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (finprod.{0, succ u1} Real ι Real.commMonoid (fun (i : ι) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Eq.{1} Real (finsum.{0, succ u1} Real ι Real.instAddCommMonoidReal (fun (i : ι) => BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x)) (HSub.hSub.{0, 0, 0} Real ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real (instHSub.{0} Real Real.instSubReal) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (finprod.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (fun (i : ι) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPouFun_eqₓ'. -/
 theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 - f i x :=
   by
   set s := (f.point_finite x).toFinset
@@ -585,12 +444,6 @@ theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 -
   rwa [finite.mem_to_finset]
 #align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPouFun_eq
 
-/- warning: bump_covering.exists_finset_to_pou_fun_eventually_eq -> BumpCovering.exists_finset_toPouFun_eventuallyEq is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (t : Finset.{u1} ι) => Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i) (HMul.hMul.{u2, u2, u2} (X -> Real) (X -> Real) (X -> Real) (instHMul.{u2} (X -> Real) (Pi.instMul.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasMul))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)) (Finset.prod.{u2, u1} (X -> Real) ι (Pi.commMonoid.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.commMonoid)) (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{u2, u2, u2} (X -> Real) (X -> Real) (X -> Real) (instHSub.{u2} (X -> Real) (Pi.instSub.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasSub))) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (t : Finset.{u1} ι) => Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i) (HMul.hMul.{u2, u2, u2} (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (instHMul.{u2} (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (Pi.instMul.{u2, 0} X (fun (ᾰ : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (fun (i : X) => Real.instMulReal))) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (a : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) a) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (Finset.prod.{u2, u1} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) ι (ContinuousMap.instCommMonoidContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instCommMonoidReal (TopologicalSemiring.toContinuousMul.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Real (NonAssocRing.toNonUnitalNonAssocRing.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (TopologicalRing.toTopologicalSemiring.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (NonAssocRing.toNonUnitalNonAssocRing.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)) instTopologicalRingRealToTopologicalSpaceToUniformSpacePseudoMetricSpaceToNonUnitalNonAssocRingToNonAssocRingInstRingReal))) (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{u2, u2, u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (instHSub.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instSubContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instSubReal (TopologicalAddGroup.to_continuousSub.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instAddGroupReal instTopologicalAddGroupRealToTopologicalSpaceToUniformSpacePseudoMetricSpaceInstAddGroupReal))) (OfNat.ofNat.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (One.toOfNat1.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instOneContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instOneReal))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j))))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.exists_finset_to_pou_fun_eventually_eq BumpCovering.exists_finset_toPouFun_eventuallyEqₓ'. -/
 theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
       f.toPouFun i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j :=
@@ -643,66 +496,33 @@ def toPartitionOfUnity : PartitionOfUnity ι X s
 #align bump_covering.to_partition_of_unity BumpCovering.toPartitionOfUnity
 -/
 
-/- warning: bump_covering.to_partition_of_unity_apply -> BumpCovering.toPartitionOfUnity_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (finprod.{0, succ u1} Real ι Real.commMonoid (fun (j : ι) => finprod.{0, 0} Real (WellOrderingRel.{u1} ι j i) Real.commMonoid (fun (hj : WellOrderingRel.{u1} ι j i) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHMul.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instMulReal) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (finprod.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (fun (j : ι) => finprod.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (WellOrderingRel.{u1} ι j i) Real.instCommMonoidReal (fun (hj : WellOrderingRel.{u1} ι j i) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x)))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.to_partition_of_unity_apply BumpCovering.toPartitionOfUnity_applyₓ'. -/
 theorem toPartitionOfUnity_apply (i : ι) (x : X) :
     f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), 1 - f j x :=
   rfl
 #align bump_covering.to_partition_of_unity_apply BumpCovering.toPartitionOfUnity_apply
 
-/- warning: bump_covering.to_partition_of_unity_eq_mul_prod -> BumpCovering.toPartitionOfUnity_eq_mul_prod is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X) (t : Finset.{u1} ι), (forall (j : ι), (WellOrderingRel.{u1} ι j i) -> (Ne.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) j t)) -> (Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (Finset.prod.{0, u1} Real ι Real.commMonoid (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X) (t : Finset.{u1} ι), (forall (j : ι), (WellOrderingRel.{u1} ι j i) -> (Ne.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x) (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))) -> (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) j t)) -> (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHMul.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instMulReal) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (Finset.prod.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x)))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prodₓ'. -/
 theorem toPartitionOfUnity_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPartitionOfUnity i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j x :=
   f.toPouFun_eq_mul_prod i x t ht
 #align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prod
 
-/- warning: bump_covering.exists_finset_to_partition_of_unity_eventually_eq -> BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEqₓ'. -/
 theorem exists_finset_toPartitionOfUnity_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
       f.toPartitionOfUnity i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j :=
   f.exists_finset_toPouFun_eventuallyEq i x
 #align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq
 
-/- warning: bump_covering.to_partition_of_unity_zero_of_zero -> BumpCovering.toPartitionOfUnity_zero_of_zero is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) {i : ι} {x : X}, (Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) {i : ι} {x : X}, (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (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))) -> (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (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)))
-Case conversion may be inaccurate. Consider using '#align bump_covering.to_partition_of_unity_zero_of_zero BumpCovering.toPartitionOfUnity_zero_of_zeroₓ'. -/
 theorem toPartitionOfUnity_zero_of_zero {i : ι} {x : X} (h : f i x = 0) :
     f.toPartitionOfUnity i x = 0 :=
   f.toPouFun_zero_of_zero h
 #align bump_covering.to_partition_of_unity_zero_of_zero BumpCovering.toPartitionOfUnity_zero_of_zero
 
-/- warning: bump_covering.support_to_partition_of_unity_subset -> BumpCovering.support_toPartitionOfUnity_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i))) (Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i))) (Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)))
-Case conversion may be inaccurate. Consider using '#align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subsetₓ'. -/
 theorem support_toPartitionOfUnity_subset (i : ι) :
     support (f.toPartitionOfUnity i) ⊆ support (f i) :=
   f.support_toPouFun_subset i
 #align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subset
 
-/- warning: bump_covering.sum_to_partition_of_unity_eq -> BumpCovering.sum_toPartitionOfUnity_eq is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Eq.{1} Real (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x)) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (finprod.{0, succ u1} Real ι Real.commMonoid (fun (i : ι) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (finsum.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instAddCommMonoidReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x)) (HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (finprod.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (fun (i : ι) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x))))
-Case conversion may be inaccurate. Consider using '#align bump_covering.sum_to_partition_of_unity_eq BumpCovering.sum_toPartitionOfUnity_eqₓ'. -/
 theorem sum_toPartitionOfUnity_eq (x : X) :
     (∑ᶠ i, f.toPartitionOfUnity i x) = 1 - ∏ᶠ i, 1 - f i x :=
   f.sum_toPouFun_eq x
Diff
@@ -575,9 +575,7 @@ theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 -
     by
     rw [hs]
     exact fun i hi => f.support_to_pou_fun_subset i hi
-  have B : (mul_support fun i => 1 - f i x) ⊆ s :=
-    by
-    rw [hs, mul_support_one_sub]
+  have B : (mul_support fun i => 1 - f i x) ⊆ s := by rw [hs, mul_support_one_sub];
     exact fun i => id
   letI : LinearOrder ι := linearOrderOfSTO WellOrderingRel
   rw [finsum_eq_sum_of_support_subset _ A, finprod_eq_prod_of_mulSupport_subset _ B,
@@ -637,8 +635,7 @@ def toPartitionOfUnity : PartitionOfUnity ι X s
     simp only [ContinuousMap.coe_mk, sum_to_pou_fun_eq, sub_eq_self]
     apply finprod_eq_zero (fun i => 1 - f i x) (f.ind x hx)
     · simp only [f.ind_apply x hx, sub_self]
-    · rw [mul_support_one_sub]
-      exact f.point_finite x
+    · rw [mul_support_one_sub]; exact f.point_finite x
   sum_le_one' x :=
     by
     simp only [ContinuousMap.coe_mk, sum_to_pou_fun_eq, sub_le_self_iff]
Diff
@@ -247,10 +247,7 @@ theorem continuous_smul {g : X → E} {i : ι} (hg : ∀ x ∈ tsupport (f i), C
 #align partition_of_unity.continuous_smul PartitionOfUnity.continuous_smul
 
 /- warning: partition_of_unity.continuous_finsum_smul -> PartitionOfUnity.continuous_finsum_smul is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {E : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} E] [_inst_3 : SMulWithZero.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] [_inst_4 : TopologicalSpace.{u3} E] [_inst_5 : ContinuousSMul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) [_inst_6 : ContinuousAdd.{u3} E _inst_4 (AddZeroClass.toHasAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] {g : ι -> X -> E}, (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (tsupport.{u2, 0} X Real Real.hasZero _inst_1 (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))) -> (ContinuousAt.{u2, u3} X E _inst_1 _inst_4 (g i) x)) -> (Continuous.{u2, u3} X E _inst_1 _inst_4 (fun (x : X) => finsum.{u3, succ u1} E ι _inst_2 (fun (i : ι) => SMul.smul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (g i x))))
-but is expected to have type
-  forall {ι : Type.{u2}} {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] {E : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] [_inst_4 : TopologicalSpace.{u1} E] [_inst_5 : ContinuousSMul.{0, u1} Real E (SMulZeroClass.toSMul.{0, u1} Real E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u3} X} (f : PartitionOfUnity.{u2, u3} ι X _inst_1 s) [_inst_6 : ContinuousAdd.{u1} E _inst_4 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))] {g : ι -> X -> E}, (forall (i : ι) (x : X), (Membership.mem.{u3, u3} X (Set.{u3} X) (Set.instMembershipSet.{u3} X) x (tsupport.{u3, 0} X Real Real.instZeroReal _inst_1 (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i)))) -> (ContinuousAt.{u3, u1} X E _inst_1 _inst_4 (g i) x)) -> (Continuous.{u3, u1} X E _inst_1 _inst_4 (fun (x : X) => finsum.{u1, succ u2} E ι _inst_2 (fun (i : ι) => HSMul.hSMul.{0, u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E E (instHSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (SMulZeroClass.toSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i) x) (g i x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align partition_of_unity.continuous_finsum_smul PartitionOfUnity.continuous_finsum_smulₓ'. -/
 /-- If `f` is a partition of unity on a set `s : set X` and `g : ι → X → E` is a family of functions
 such that each `g i` is continuous at every point of the topological support of `f i`, then the sum
@@ -273,10 +270,7 @@ def IsSubordinate (U : ι → Set X) : Prop :=
 variable {f}
 
 /- warning: partition_of_unity.exists_finset_nhd_support_subset -> PartitionOfUnity.exists_finset_nhd_support_subset is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} {U : ι -> (Set.{u2} X)}, (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (forall (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (is : Finset.{u1} ι) => Exists.{succ u2} (Set.{u2} X) (fun {n : Set.{u2} X} => Exists.{0} (Membership.Mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (Filter.hasMem.{u2} X) n (nhds.{u2} X _inst_1 x)) (fun (hn₁ : Membership.Mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (Filter.hasMem.{u2} X) n (nhds.{u2} X _inst_1 x)) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) n (Set.iInter.{u2, succ u1} X ι (fun (i : ι) => Set.iInter.{u2, 0} X (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) (fun (H : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) => U i)))) (fun (hn₂ : HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) n (Set.iInter.{u2, succ u1} X ι (fun (i : ι) => Set.iInter.{u2, 0} X (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) (fun (H : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) => U i)))) => forall (z : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) z n) -> (HasSubset.Subset.{u1} (Set.{u1} ι) (Set.hasSubset.{u1} ι) (Function.support.{u1, 0} ι Real Real.hasZero (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) z)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} ι) (Set.{u1} ι) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} ι) (Set.{u1} ι) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} ι) (Set.{u1} ι) (Finset.Set.hasCoeT.{u1} ι))) is)))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} {U : ι -> (Set.{u2} X)}, (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (forall (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (is : Finset.{u1} ι) => Exists.{succ u2} (Set.{u2} X) (fun (n : Set.{u2} X) => Exists.{0} (Membership.mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (instMembershipSetFilter.{u2} X) n (nhds.{u2} X _inst_1 x)) (fun (hn₁ : Membership.mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (instMembershipSetFilter.{u2} X) n (nhds.{u2} X _inst_1 x)) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) n (Set.iInter.{u2, succ u1} X ι (fun (i : ι) => Set.iInter.{u2, 0} X (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) => U i)))) (fun (hn₂ : HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) n (Set.iInter.{u2, succ u1} X ι (fun (i : ι) => Set.iInter.{u2, 0} X (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) => U i)))) => forall (z : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) z n) -> (HasSubset.Subset.{u1} (Set.{u1} ι) (Set.instHasSubsetSet.{u1} ι) (Function.support.{u1, 0} ι ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) z) Real.instZeroReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) z)) (Finset.toSet.{u1} ι is)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subsetₓ'. -/
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
@@ -286,10 +280,7 @@ theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordina
 #align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subset
 
 /- warning: partition_of_unity.is_subordinate.continuous_finsum_smul -> PartitionOfUnity.IsSubordinate.continuous_finsum_smul is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {E : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} E] [_inst_3 : SMulWithZero.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] [_inst_4 : TopologicalSpace.{u3} E] [_inst_5 : ContinuousSMul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} [_inst_6 : ContinuousAdd.{u3} E _inst_4 (AddZeroClass.toHasAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall {g : ι -> X -> E}, (forall (i : ι), ContinuousOn.{u2, u3} X E _inst_1 _inst_4 (g i) (U i)) -> (Continuous.{u2, u3} X E _inst_1 _inst_4 (fun (x : X) => finsum.{u3, succ u1} E ι _inst_2 (fun (i : ι) => SMul.smul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (g i x)))))
-but is expected to have type
-  forall {ι : Type.{u2}} {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] {E : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] [_inst_4 : TopologicalSpace.{u1} E] [_inst_5 : ContinuousSMul.{0, u1} Real E (SMulZeroClass.toSMul.{0, u1} Real E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u3} X} {f : PartitionOfUnity.{u2, u3} ι X _inst_1 s} [_inst_6 : ContinuousAdd.{u1} E _inst_4 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))] {U : ι -> (Set.{u3} X)}, (forall (i : ι), IsOpen.{u3} X _inst_1 (U i)) -> (PartitionOfUnity.IsSubordinate.{u2, u3} ι X _inst_1 s f U) -> (forall {g : ι -> X -> E}, (forall (i : ι), ContinuousOn.{u3, u1} X E _inst_1 _inst_4 (g i) (U i)) -> (Continuous.{u3, u1} X E _inst_1 _inst_4 (fun (x : X) => finsum.{u1, succ u2} E ι _inst_2 (fun (i : ι) => HSMul.hSMul.{0, u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E E (instHSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (SMulZeroClass.toSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i) x) (g i x)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align partition_of_unity.is_subordinate.continuous_finsum_smul PartitionOfUnity.IsSubordinate.continuous_finsum_smulₓ'. -/
 /-- If `f` is a partition of unity that is subordinate to a family of open sets `U i` and
 `g : ι → X → E` is a family of functions such that each `g i` is continuous on `U i`, then the sum
@@ -406,10 +397,7 @@ theorem IsSubordinate.mono {f : BumpCovering ι X s} {U V : ι → Set X} (hU :
 -/
 
 /- warning: bump_covering.exists_is_subordinate_of_locally_finite_of_prop -> BumpCovering.exists_isSubordinate_of_locallyFinite_of_prop is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.completeBooleanAlgebra.{u2} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} X) (Set.booleanAlgebra.{u2} X))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f)) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (OfNat.mk.{u2} (X -> Real) 0 (Zero.zero.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasZero))))) s) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) t) (forall (x : X), Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f x) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (LocallyFinite.{u1, u2} ι X _inst_1 U) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) s (Set.iUnion.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} X) (Preorder.toLE.{u2} (Set.{u2} X) (PartialOrder.toPreorder.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f)) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (Zero.toOfNat0.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instZeroReal)))) s) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instOneReal)))) t) (forall (x : X), Membership.mem.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (Set.{0} Real) (Set.instMembershipSet.{0} Real) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f x) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (LocallyFinite.{u1, u2} ι X _inst_1 U) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) s (Set.iUnion.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align bump_covering.exists_is_subordinate_of_locally_finite_of_prop BumpCovering.exists_isSubordinate_of_locallyFinite_of_propₓ'. -/
 /-- If `X` is a normal topological space and `U i`, `i : ι`, is a locally finite open covering of a
 closed set `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. If `X` is a
@@ -462,10 +450,7 @@ theorem exists_isSubordinate_of_locallyFinite [NormalSpace X] (hs : IsClosed s)
 -/
 
 /- warning: bump_covering.exists_is_subordinate_of_prop -> BumpCovering.exists_isSubordinate_of_prop is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] [_inst_3 : ParacompactSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.completeBooleanAlgebra.{u2} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} X) (Set.booleanAlgebra.{u2} X))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f)) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (OfNat.mk.{u2} (X -> Real) 0 (Zero.zero.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasZero))))) s) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) t) (forall (x : X), Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f x) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) s (Set.iUnion.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] [_inst_3 : ParacompactSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} X) (Preorder.toLE.{u2} (Set.{u2} X) (PartialOrder.toPreorder.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f)) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (Zero.toOfNat0.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instZeroReal)))) s) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instOneReal)))) t) (forall (x : X), Membership.mem.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (Set.{0} Real) (Set.instMembershipSet.{0} Real) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f x) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) s (Set.iUnion.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align bump_covering.exists_is_subordinate_of_prop BumpCovering.exists_isSubordinate_of_propₓ'. -/
 /-- If `X` is a paracompact normal topological space and `U` is an open covering of a closed set
 `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. This version assumes that
@@ -685,10 +670,7 @@ theorem toPartitionOfUnity_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
 #align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prod
 
 /- warning: bump_covering.exists_finset_to_partition_of_unity_eventually_eq -> BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (t : Finset.{u1} ι) => Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i)) (HMul.hMul.{u2, u2, u2} (X -> Real) (X -> Real) (X -> Real) (instHMul.{u2} (X -> Real) (Pi.instMul.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasMul))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)) (Finset.prod.{u2, u1} (X -> Real) ι (Pi.commMonoid.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.commMonoid)) (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{u2, u2, u2} (X -> Real) (X -> Real) (X -> Real) (instHSub.{u2} (X -> Real) (Pi.instSub.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasSub))) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (t : Finset.{u1} ι) => Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i)) (HMul.hMul.{u2, u2, u2} (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (instHMul.{u2} (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (Pi.instMul.{u2, 0} X (fun (ᾰ : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (fun (i : X) => Real.instMulReal))) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (a : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) a) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (Finset.prod.{u2, u1} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) ι (ContinuousMap.instCommMonoidContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instCommMonoidReal (TopologicalSemiring.toContinuousMul.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Real (NonAssocRing.toNonUnitalNonAssocRing.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (TopologicalRing.toTopologicalSemiring.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (NonAssocRing.toNonUnitalNonAssocRing.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)) instTopologicalRingRealToTopologicalSpaceToUniformSpacePseudoMetricSpaceToNonUnitalNonAssocRingToNonAssocRingInstRingReal))) (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{u2, u2, u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (instHSub.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instSubContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instSubReal (TopologicalAddGroup.to_continuousSub.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instAddGroupReal instTopologicalAddGroupRealToTopologicalSpaceToUniformSpacePseudoMetricSpaceInstAddGroupReal))) (OfNat.ofNat.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (One.toOfNat1.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instOneContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instOneReal))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEqₓ'. -/
 theorem exists_finset_toPartitionOfUnity_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
Diff
@@ -508,7 +508,7 @@ def ind (x : X) (hx : x ∈ s) : ι :=
 lean 3 declaration is
   forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s), Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx))) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne)))))
 but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s), Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx))) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : X) => Real) (fun (i : X) => Real.instOneReal))))
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s), Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx))) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19136 : X) => Real) (fun (i : X) => Real.instOneReal))))
 Case conversion may be inaccurate. Consider using '#align bump_covering.eventually_eq_one BumpCovering.eventuallyEq_oneₓ'. -/
 theorem eventuallyEq_one (x : X) (hx : x ∈ s) : f (f.ind x hx) =ᶠ[𝓝 x] 1 :=
   (f.eventuallyEq_one' x hx).choose_spec
Diff
@@ -274,9 +274,9 @@ variable {f}
 
 /- warning: partition_of_unity.exists_finset_nhd_support_subset -> PartitionOfUnity.exists_finset_nhd_support_subset is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} {U : ι -> (Set.{u2} X)}, (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (forall (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (is : Finset.{u1} ι) => Exists.{succ u2} (Set.{u2} X) (fun {n : Set.{u2} X} => Exists.{0} (Membership.Mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (Filter.hasMem.{u2} X) n (nhds.{u2} X _inst_1 x)) (fun (hn₁ : Membership.Mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (Filter.hasMem.{u2} X) n (nhds.{u2} X _inst_1 x)) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) n (Set.interᵢ.{u2, succ u1} X ι (fun (i : ι) => Set.interᵢ.{u2, 0} X (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) (fun (H : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) => U i)))) (fun (hn₂ : HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) n (Set.interᵢ.{u2, succ u1} X ι (fun (i : ι) => Set.interᵢ.{u2, 0} X (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) (fun (H : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) => U i)))) => forall (z : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) z n) -> (HasSubset.Subset.{u1} (Set.{u1} ι) (Set.hasSubset.{u1} ι) (Function.support.{u1, 0} ι Real Real.hasZero (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) z)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} ι) (Set.{u1} ι) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} ι) (Set.{u1} ι) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} ι) (Set.{u1} ι) (Finset.Set.hasCoeT.{u1} ι))) is)))))))
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} {U : ι -> (Set.{u2} X)}, (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (forall (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (is : Finset.{u1} ι) => Exists.{succ u2} (Set.{u2} X) (fun {n : Set.{u2} X} => Exists.{0} (Membership.Mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (Filter.hasMem.{u2} X) n (nhds.{u2} X _inst_1 x)) (fun (hn₁ : Membership.Mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (Filter.hasMem.{u2} X) n (nhds.{u2} X _inst_1 x)) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) n (Set.iInter.{u2, succ u1} X ι (fun (i : ι) => Set.iInter.{u2, 0} X (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) (fun (H : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) => U i)))) (fun (hn₂ : HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) n (Set.iInter.{u2, succ u1} X ι (fun (i : ι) => Set.iInter.{u2, 0} X (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) (fun (H : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) => U i)))) => forall (z : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) z n) -> (HasSubset.Subset.{u1} (Set.{u1} ι) (Set.hasSubset.{u1} ι) (Function.support.{u1, 0} ι Real Real.hasZero (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) z)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} ι) (Set.{u1} ι) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} ι) (Set.{u1} ι) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} ι) (Set.{u1} ι) (Finset.Set.hasCoeT.{u1} ι))) is)))))))
 but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} {U : ι -> (Set.{u2} X)}, (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (forall (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (is : Finset.{u1} ι) => Exists.{succ u2} (Set.{u2} X) (fun (n : Set.{u2} X) => Exists.{0} (Membership.mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (instMembershipSetFilter.{u2} X) n (nhds.{u2} X _inst_1 x)) (fun (hn₁ : Membership.mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (instMembershipSetFilter.{u2} X) n (nhds.{u2} X _inst_1 x)) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) n (Set.interᵢ.{u2, succ u1} X ι (fun (i : ι) => Set.interᵢ.{u2, 0} X (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) => U i)))) (fun (hn₂ : HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) n (Set.interᵢ.{u2, succ u1} X ι (fun (i : ι) => Set.interᵢ.{u2, 0} X (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) => U i)))) => forall (z : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) z n) -> (HasSubset.Subset.{u1} (Set.{u1} ι) (Set.instHasSubsetSet.{u1} ι) (Function.support.{u1, 0} ι ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) z) Real.instZeroReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) z)) (Finset.toSet.{u1} ι is)))))))
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} {U : ι -> (Set.{u2} X)}, (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (forall (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (is : Finset.{u1} ι) => Exists.{succ u2} (Set.{u2} X) (fun (n : Set.{u2} X) => Exists.{0} (Membership.mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (instMembershipSetFilter.{u2} X) n (nhds.{u2} X _inst_1 x)) (fun (hn₁ : Membership.mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (instMembershipSetFilter.{u2} X) n (nhds.{u2} X _inst_1 x)) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) n (Set.iInter.{u2, succ u1} X ι (fun (i : ι) => Set.iInter.{u2, 0} X (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) => U i)))) (fun (hn₂ : HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) n (Set.iInter.{u2, succ u1} X ι (fun (i : ι) => Set.iInter.{u2, 0} X (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) => U i)))) => forall (z : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) z n) -> (HasSubset.Subset.{u1} (Set.{u1} ι) (Set.instHasSubsetSet.{u1} ι) (Function.support.{u1, 0} ι ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) z) Real.instZeroReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) z)) (Finset.toSet.{u1} ι is)))))))
 Case conversion may be inaccurate. Consider using '#align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subsetₓ'. -/
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
@@ -407,9 +407,9 @@ theorem IsSubordinate.mono {f : BumpCovering ι X s} {U V : ι → Set X} (hU :
 
 /- warning: bump_covering.exists_is_subordinate_of_locally_finite_of_prop -> BumpCovering.exists_isSubordinate_of_locallyFinite_of_prop is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.completeBooleanAlgebra.{u2} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} X) (Set.booleanAlgebra.{u2} X))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f)) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (OfNat.mk.{u2} (X -> Real) 0 (Zero.zero.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasZero))))) s) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) t) (forall (x : X), Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f x) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (LocallyFinite.{u1, u2} ι X _inst_1 U) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) s (Set.unionᵢ.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.completeBooleanAlgebra.{u2} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} X) (Set.booleanAlgebra.{u2} X))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f)) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (OfNat.mk.{u2} (X -> Real) 0 (Zero.zero.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasZero))))) s) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) t) (forall (x : X), Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f x) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (LocallyFinite.{u1, u2} ι X _inst_1 U) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) s (Set.iUnion.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
 but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} X) (Preorder.toLE.{u2} (Set.{u2} X) (PartialOrder.toPreorder.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f)) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (Zero.toOfNat0.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instZeroReal)))) s) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instOneReal)))) t) (forall (x : X), Membership.mem.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (Set.{0} Real) (Set.instMembershipSet.{0} Real) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f x) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (LocallyFinite.{u1, u2} ι X _inst_1 U) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) s (Set.unionᵢ.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} X) (Preorder.toLE.{u2} (Set.{u2} X) (PartialOrder.toPreorder.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f)) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (Zero.toOfNat0.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instZeroReal)))) s) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instOneReal)))) t) (forall (x : X), Membership.mem.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (Set.{0} Real) (Set.instMembershipSet.{0} Real) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f x) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (LocallyFinite.{u1, u2} ι X _inst_1 U) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) s (Set.iUnion.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
 Case conversion may be inaccurate. Consider using '#align bump_covering.exists_is_subordinate_of_locally_finite_of_prop BumpCovering.exists_isSubordinate_of_locallyFinite_of_propₓ'. -/
 /-- If `X` is a normal topological space and `U i`, `i : ι`, is a locally finite open covering of a
 closed set `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. If `X` is a
@@ -426,10 +426,10 @@ theorem exists_isSubordinate_of_locallyFinite_of_prop [NormalSpace X] (p : (X 
     (hs : IsClosed s) (U : ι → Set X) (ho : ∀ i, IsOpen (U i)) (hf : LocallyFinite U)
     (hU : s ⊆ ⋃ i, U i) : ∃ f : BumpCovering ι X s, (∀ i, p (f i)) ∧ f.IsSubordinate U :=
   by
-  rcases exists_subset_unionᵢ_closure_subset hs ho (fun x _ => hf.point_finite x) hU with
+  rcases exists_subset_iUnion_closure_subset hs ho (fun x _ => hf.point_finite x) hU with
     ⟨V, hsV, hVo, hVU⟩
   have hVU' : ∀ i, V i ⊆ U i := fun i => subset.trans subset_closure (hVU i)
-  rcases exists_subset_unionᵢ_closure_subset hs hVo (fun x _ => (hf.subset hVU').point_finite x)
+  rcases exists_subset_iUnion_closure_subset hs hVo (fun x _ => (hf.subset hVU').point_finite x)
       hsV with
     ⟨W, hsW, hWo, hWV⟩
   choose f hfp hf0 hf1 hf01 using fun i =>
@@ -463,9 +463,9 @@ theorem exists_isSubordinate_of_locallyFinite [NormalSpace X] (hs : IsClosed s)
 
 /- warning: bump_covering.exists_is_subordinate_of_prop -> BumpCovering.exists_isSubordinate_of_prop is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] [_inst_3 : ParacompactSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.completeBooleanAlgebra.{u2} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} X) (Set.booleanAlgebra.{u2} X))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f)) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (OfNat.mk.{u2} (X -> Real) 0 (Zero.zero.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasZero))))) s) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) t) (forall (x : X), Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f x) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) s (Set.unionᵢ.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] [_inst_3 : ParacompactSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.completeBooleanAlgebra.{u2} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} X) (Set.booleanAlgebra.{u2} X))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f)) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (OfNat.mk.{u2} (X -> Real) 0 (Zero.zero.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasZero))))) s) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) t) (forall (x : X), Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f x) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) s (Set.iUnion.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
 but is expected to have type
-  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] [_inst_3 : ParacompactSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} X) (Preorder.toLE.{u2} (Set.{u2} X) (PartialOrder.toPreorder.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f)) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (Zero.toOfNat0.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instZeroReal)))) s) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instOneReal)))) t) (forall (x : X), Membership.mem.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (Set.{0} Real) (Set.instMembershipSet.{0} Real) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f x) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) s (Set.unionᵢ.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] [_inst_3 : ParacompactSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} X) (Preorder.toLE.{u2} (Set.{u2} X) (PartialOrder.toPreorder.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f)) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (Zero.toOfNat0.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instZeroReal)))) s) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instOneReal)))) t) (forall (x : X), Membership.mem.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (Set.{0} Real) (Set.instMembershipSet.{0} Real) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f x) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) s (Set.iUnion.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
 Case conversion may be inaccurate. Consider using '#align bump_covering.exists_is_subordinate_of_prop BumpCovering.exists_isSubordinate_of_propₓ'. -/
 /-- If `X` is a paracompact normal topological space and `U` is an open covering of a closed set
 `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. This version assumes that
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.partition_of_unity
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -18,6 +18,9 @@ import Mathbin.Topology.UrysohnsLemma
 /-!
 # Continuous partition of unity
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we define `partition_of_unity (ι X : Type*) [topological_space X] (s : set X := univ)`
 to be a continuous partition of unity on `s` indexed by `ι`. More precisely, `f : partition_of_unity
 ι X s` is a collection of continuous functions `f i : C(X, ℝ)`, `i : ι`, such that
Diff
@@ -86,6 +86,7 @@ open BigOperators Topology Classical
 
 noncomputable section
 
+#print PartitionOfUnity /-
 /-- A continuous partition of unity on a set `s : set X` is a collection of continuous functions
 `f i` such that
 
@@ -106,7 +107,9 @@ structure PartitionOfUnity (ι X : Type _) [TopologicalSpace X] (s : Set X := un
   sum_eq_one' : ∀ x ∈ s, (∑ᶠ i, to_fun i x) = 1
   sum_le_one' : ∀ x, (∑ᶠ i, to_fun i x) ≤ 1
 #align partition_of_unity PartitionOfUnity
+-/
 
+#print BumpCovering /-
 /-- A `bump_covering ι X s` is an indexed family of functions `f i`, `i : ι`, such that
 
 * the supports of `f i` form a locally finite family of sets, i.e., for every point `x : X` there
@@ -129,6 +132,7 @@ structure BumpCovering (ι X : Type _) [TopologicalSpace X] (s : Set X := univ)
   le_one' : to_fun ≤ 1
   eventuallyEq_one' : ∀ x ∈ s, ∃ i, to_fun i =ᶠ[𝓝 x] 1
 #align bump_covering BumpCovering
+-/
 
 variable {ι : Type u} {X : Type v} [TopologicalSpace X]
 
@@ -140,22 +144,52 @@ variable {E : Type _} [AddCommMonoid E] [SMulWithZero ℝ E] [TopologicalSpace E
 instance : CoeFun (PartitionOfUnity ι X s) fun _ => ι → C(X, ℝ) :=
   ⟨toFun⟩
 
+/- warning: partition_of_unity.locally_finite -> PartitionOfUnity.locallyFinite is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i)))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.locally_finite PartitionOfUnity.locallyFiniteₓ'. -/
 protected theorem locallyFinite : LocallyFinite fun i => support (f i) :=
   f.locally_finite'
 #align partition_of_unity.locally_finite PartitionOfUnity.locallyFinite
 
+/- warning: partition_of_unity.locally_finite_tsupport -> PartitionOfUnity.locallyFinite_tsupport is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => tsupport.{u2, 0} X Real Real.hasZero _inst_1 (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => tsupport.{u2, 0} X Real Real.instZeroReal _inst_1 (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i)))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.locally_finite_tsupport PartitionOfUnity.locallyFinite_tsupportₓ'. -/
 theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
   f.LocallyFinite.closure
 #align partition_of_unity.locally_finite_tsupport PartitionOfUnity.locallyFinite_tsupport
 
+/- warning: partition_of_unity.nonneg -> PartitionOfUnity.nonneg is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} Real Real.hasLe (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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (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 _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x)
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.nonneg PartitionOfUnity.nonnegₓ'. -/
 theorem nonneg (i : ι) (x : X) : 0 ≤ f i x :=
   f.nonneg' i x
 #align partition_of_unity.nonneg PartitionOfUnity.nonneg
 
+/- warning: partition_of_unity.sum_eq_one -> PartitionOfUnity.sum_eq_one is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {x : X}, (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s) -> (Eq.{1} Real (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {x : X}, (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s) -> (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (finsum.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instAddCommMonoidReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x)) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.sum_eq_one PartitionOfUnity.sum_eq_oneₓ'. -/
 theorem sum_eq_one {x : X} (hx : x ∈ s) : (∑ᶠ i, f i x) = 1 :=
   f.sum_eq_one' x hx
 #align partition_of_unity.sum_eq_one PartitionOfUnity.sum_eq_one
 
+/- warning: partition_of_unity.exists_pos -> PartitionOfUnity.exists_pos is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {x : X}, (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s) -> (Exists.{succ u1} ι (fun (i : ι) => 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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {x : X}, (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s) -> (Exists.{succ u1} ι (fun (i : ι) => 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 _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x)))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.exists_pos PartitionOfUnity.exists_posₓ'. -/
 /-- If `f` is a partition of unity on `s`, then for every `x ∈ s` there exists an index `i` such
 that `0 < f i x`. -/
 theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x :=
@@ -165,18 +199,42 @@ theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x :=
   simpa only [fun i => (H i).antisymm (f.nonneg i x), finsum_zero] using zero_ne_one
 #align partition_of_unity.exists_pos PartitionOfUnity.exists_pos
 
+/- warning: partition_of_unity.sum_le_one -> PartitionOfUnity.sum_le_one is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (x : X), LE.le.{0} Real Real.hasLe (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (finsum.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instAddCommMonoidReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x)) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.sum_le_one PartitionOfUnity.sum_le_oneₓ'. -/
 theorem sum_le_one (x : X) : (∑ᶠ i, f i x) ≤ 1 :=
   f.sum_le_one' x
 #align partition_of_unity.sum_le_one PartitionOfUnity.sum_le_one
 
+/- warning: partition_of_unity.sum_nonneg -> PartitionOfUnity.sum_nonneg is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (x : X), LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (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)) (finsum.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instAddCommMonoidReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.sum_nonneg PartitionOfUnity.sum_nonnegₓ'. -/
 theorem sum_nonneg (x : X) : 0 ≤ ∑ᶠ i, f i x :=
   finsum_nonneg fun i => f.NonNeg i x
 #align partition_of_unity.sum_nonneg PartitionOfUnity.sum_nonneg
 
+/- warning: partition_of_unity.le_one -> PartitionOfUnity.le_one is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} Real Real.hasLe (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) x) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.le_one PartitionOfUnity.le_oneₓ'. -/
 theorem le_one (i : ι) (x : X) : f i x ≤ 1 :=
   (single_le_finsum i (f.LocallyFinite.point_finite x) fun j => f.NonNeg j x).trans (f.sum_le_one x)
 #align partition_of_unity.le_one PartitionOfUnity.le_one
 
+/- warning: partition_of_unity.continuous_smul -> PartitionOfUnity.continuous_smul is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {E : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} E] [_inst_3 : SMulWithZero.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] [_inst_4 : TopologicalSpace.{u3} E] [_inst_5 : ContinuousSMul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {g : X -> E} {i : ι}, (forall (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (tsupport.{u2, 0} X Real Real.hasZero _inst_1 (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))) -> (ContinuousAt.{u2, u3} X E _inst_1 _inst_4 g x)) -> (Continuous.{u2, u3} X E _inst_1 _inst_4 (fun (x : X) => SMul.smul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (g x)))
+but is expected to have type
+  forall {ι : Type.{u2}} {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] {E : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] [_inst_4 : TopologicalSpace.{u1} E] [_inst_5 : ContinuousSMul.{0, u1} Real E (SMulZeroClass.toSMul.{0, u1} Real E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u3} X} (f : PartitionOfUnity.{u2, u3} ι X _inst_1 s) {g : X -> E} {i : ι}, (forall (x : X), (Membership.mem.{u3, u3} X (Set.{u3} X) (Set.instMembershipSet.{u3} X) x (tsupport.{u3, 0} X Real Real.instZeroReal _inst_1 (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i)))) -> (ContinuousAt.{u3, u1} X E _inst_1 _inst_4 g x)) -> (Continuous.{u3, u1} X E _inst_1 _inst_4 (fun (x : X) => HSMul.hSMul.{0, u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E E (instHSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (SMulZeroClass.toSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i) x) (g x)))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.continuous_smul PartitionOfUnity.continuous_smulₓ'. -/
 /-- If `f` is a partition of unity on `s : set X` and `g : X → E` is continuous at every point of
 the topological support of some `f i`, then `λ x, f i x • g x` is continuous on the whole space. -/
 theorem continuous_smul {g : X → E} {i : ι} (hg : ∀ x ∈ tsupport (f i), ContinuousAt g x) :
@@ -185,6 +243,12 @@ theorem continuous_smul {g : X → E} {i : ι} (hg : ∀ x ∈ tsupport (f i), C
     ((f i).ContinuousAt x).smul <| hg x <| tsupport_smul_subset_left _ _ hx
 #align partition_of_unity.continuous_smul PartitionOfUnity.continuous_smul
 
+/- warning: partition_of_unity.continuous_finsum_smul -> PartitionOfUnity.continuous_finsum_smul is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {E : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} E] [_inst_3 : SMulWithZero.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] [_inst_4 : TopologicalSpace.{u3} E] [_inst_5 : ContinuousSMul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) [_inst_6 : ContinuousAdd.{u3} E _inst_4 (AddZeroClass.toHasAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] {g : ι -> X -> E}, (forall (i : ι) (x : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x (tsupport.{u2, 0} X Real Real.hasZero _inst_1 (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))) -> (ContinuousAt.{u2, u3} X E _inst_1 _inst_4 (g i) x)) -> (Continuous.{u2, u3} X E _inst_1 _inst_4 (fun (x : X) => finsum.{u3, succ u1} E ι _inst_2 (fun (i : ι) => SMul.smul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (g i x))))
+but is expected to have type
+  forall {ι : Type.{u2}} {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] {E : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] [_inst_4 : TopologicalSpace.{u1} E] [_inst_5 : ContinuousSMul.{0, u1} Real E (SMulZeroClass.toSMul.{0, u1} Real E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u3} X} (f : PartitionOfUnity.{u2, u3} ι X _inst_1 s) [_inst_6 : ContinuousAdd.{u1} E _inst_4 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))] {g : ι -> X -> E}, (forall (i : ι) (x : X), (Membership.mem.{u3, u3} X (Set.{u3} X) (Set.instMembershipSet.{u3} X) x (tsupport.{u3, 0} X Real Real.instZeroReal _inst_1 (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i)))) -> (ContinuousAt.{u3, u1} X E _inst_1 _inst_4 (g i) x)) -> (Continuous.{u3, u1} X E _inst_1 _inst_4 (fun (x : X) => finsum.{u1, succ u2} E ι _inst_2 (fun (i : ι) => HSMul.hSMul.{0, u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E E (instHSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (SMulZeroClass.toSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i) x) (g i x))))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.continuous_finsum_smul PartitionOfUnity.continuous_finsum_smulₓ'. -/
 /-- If `f` is a partition of unity on a set `s : set X` and `g : ι → X → E` is a family of functions
 such that each `g i` is continuous at every point of the topological support of `f i`, then the sum
 `λ x, ∑ᶠ i, f i x • g i x` is continuous on the whole space. -/
@@ -195,14 +259,22 @@ theorem continuous_finsum_smul [ContinuousAdd E] {g : ι → X → E}
     f.LocallyFinite.Subset fun i => support_smul_subset_left _ _
 #align partition_of_unity.continuous_finsum_smul PartitionOfUnity.continuous_finsum_smul
 
+#print PartitionOfUnity.IsSubordinate /-
 /-- A partition of unity `f i` is subordinate to a family of sets `U i` indexed by the same type if
 for each `i` the closure of the support of `f i` is a subset of `U i`. -/
 def IsSubordinate (U : ι → Set X) : Prop :=
   ∀ i, tsupport (f i) ⊆ U i
 #align partition_of_unity.is_subordinate PartitionOfUnity.IsSubordinate
+-/
 
 variable {f}
 
+/- warning: partition_of_unity.exists_finset_nhd_support_subset -> PartitionOfUnity.exists_finset_nhd_support_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} {U : ι -> (Set.{u2} X)}, (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (forall (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (is : Finset.{u1} ι) => Exists.{succ u2} (Set.{u2} X) (fun {n : Set.{u2} X} => Exists.{0} (Membership.Mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (Filter.hasMem.{u2} X) n (nhds.{u2} X _inst_1 x)) (fun (hn₁ : Membership.Mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (Filter.hasMem.{u2} X) n (nhds.{u2} X _inst_1 x)) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) n (Set.interᵢ.{u2, succ u1} X ι (fun (i : ι) => Set.interᵢ.{u2, 0} X (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) (fun (H : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) => U i)))) (fun (hn₂ : HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) n (Set.interᵢ.{u2, succ u1} X ι (fun (i : ι) => Set.interᵢ.{u2, 0} X (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) (fun (H : Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) i is) => U i)))) => forall (z : X), (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) z n) -> (HasSubset.Subset.{u1} (Set.{u1} ι) (Set.hasSubset.{u1} ι) (Function.support.{u1, 0} ι Real Real.hasZero (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) z)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} ι) (Set.{u1} ι) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} ι) (Set.{u1} ι) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} ι) (Set.{u1} ι) (Finset.Set.hasCoeT.{u1} ι))) is)))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} {U : ι -> (Set.{u2} X)}, (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (forall (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (is : Finset.{u1} ι) => Exists.{succ u2} (Set.{u2} X) (fun (n : Set.{u2} X) => Exists.{0} (Membership.mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (instMembershipSetFilter.{u2} X) n (nhds.{u2} X _inst_1 x)) (fun (hn₁ : Membership.mem.{u2, u2} (Set.{u2} X) (Filter.{u2} X) (instMembershipSetFilter.{u2} X) n (nhds.{u2} X _inst_1 x)) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) n (Set.interᵢ.{u2, succ u1} X ι (fun (i : ι) => Set.interᵢ.{u2, 0} X (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) => U i)))) (fun (hn₂ : HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) n (Set.interᵢ.{u2, succ u1} X ι (fun (i : ι) => Set.interᵢ.{u2, 0} X (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i is) => U i)))) => forall (z : X), (Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) z n) -> (HasSubset.Subset.{u1} (Set.{u1} ι) (Set.instHasSubsetSet.{u1} ι) (Function.support.{u1, 0} ι ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) z) Real.instZeroReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s f i) z)) (Finset.toSet.{u1} ι is)))))))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subsetₓ'. -/
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
     ∃ (is : Finset ι)(n : Set X)(hn₁ : n ∈ 𝓝 x)(hn₂ : n ⊆ ⋂ i ∈ is, U i),
@@ -210,6 +282,12 @@ theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordina
   f.LocallyFinite.exists_finset_nhd_support_subset hso ho x
 #align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subset
 
+/- warning: partition_of_unity.is_subordinate.continuous_finsum_smul -> PartitionOfUnity.IsSubordinate.continuous_finsum_smul is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {E : Type.{u3}} [_inst_2 : AddCommMonoid.{u3} E] [_inst_3 : SMulWithZero.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] [_inst_4 : TopologicalSpace.{u3} E] [_inst_5 : ContinuousSMul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u2} X} {f : PartitionOfUnity.{u1, u2} ι X _inst_1 s} [_inst_6 : ContinuousAdd.{u3} E _inst_4 (AddZeroClass.toHasAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))] {U : ι -> (Set.{u2} X)}, (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (PartitionOfUnity.IsSubordinate.{u1, u2} ι X _inst_1 s f U) -> (forall {g : ι -> X -> E}, (forall (i : ι), ContinuousOn.{u2, u3} X E _inst_1 _inst_4 (g i) (U i)) -> (Continuous.{u2, u3} X E _inst_1 _inst_4 (fun (x : X) => finsum.{u3, succ u1} E ι _inst_2 (fun (i : ι) => SMul.smul.{0, u3} Real E (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E Real.hasZero (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2))) _inst_3)) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (g i x)))))
+but is expected to have type
+  forall {ι : Type.{u2}} {X : Type.{u3}} [_inst_1 : TopologicalSpace.{u3} X] {E : Type.{u1}} [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : SMulWithZero.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2))] [_inst_4 : TopologicalSpace.{u1} E] [_inst_5 : ContinuousSMul.{0, u1} Real E (SMulZeroClass.toSMul.{0, u1} Real E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3)) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_4] {s : Set.{u3} X} {f : PartitionOfUnity.{u2, u3} ι X _inst_1 s} [_inst_6 : ContinuousAdd.{u1} E _inst_4 (AddZeroClass.toAdd.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)))] {U : ι -> (Set.{u3} X)}, (forall (i : ι), IsOpen.{u3} X _inst_1 (U i)) -> (PartitionOfUnity.IsSubordinate.{u2, u3} ι X _inst_1 s f U) -> (forall {g : ι -> X -> E}, (forall (i : ι), ContinuousOn.{u3, u1} X E _inst_1 _inst_4 (g i) (U i)) -> (Continuous.{u3, u1} X E _inst_1 _inst_4 (fun (x : X) => finsum.{u1, succ u2} E ι _inst_2 (fun (i : ι) => HSMul.hSMul.{0, u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E E (instHSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (SMulZeroClass.toSMul.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instZeroReal (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) _inst_3))) (FunLike.coe.{succ u3, succ u3, 1} (ContinuousMap.{u3, 0} X Real _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.{u3, u3, 0} (ContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u2, u3} ι X _inst_1 s f i) x) (g i x)))))
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.is_subordinate.continuous_finsum_smul PartitionOfUnity.IsSubordinate.continuous_finsum_smulₓ'. -/
 /-- If `f` is a partition of unity that is subordinate to a family of open sets `U i` and
 `g : ι → X → E` is a family of functions such that each `g i` is continuous on `U i`, then the sum
 `λ x, ∑ᶠ i, f i x • g i x` is a continuous function. -/
@@ -228,26 +306,57 @@ variable {s : Set X} (f : BumpCovering ι X s)
 instance : CoeFun (BumpCovering ι X s) fun _ => ι → C(X, ℝ) :=
   ⟨toFun⟩
 
+/- warning: bump_covering.locally_finite -> BumpCovering.locallyFinite is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)))
+Case conversion may be inaccurate. Consider using '#align bump_covering.locally_finite BumpCovering.locallyFiniteₓ'. -/
 protected theorem locallyFinite : LocallyFinite fun i => support (f i) :=
   f.locally_finite'
 #align bump_covering.locally_finite BumpCovering.locallyFinite
 
+/- warning: bump_covering.locally_finite_tsupport -> BumpCovering.locallyFinite_tsupport is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => tsupport.{u2, 0} X Real Real.hasZero _inst_1 (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s), LocallyFinite.{u1, u2} ι X _inst_1 (fun (i : ι) => tsupport.{u2, 0} X Real Real.instZeroReal _inst_1 (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)))
+Case conversion may be inaccurate. Consider using '#align bump_covering.locally_finite_tsupport BumpCovering.locallyFinite_tsupportₓ'. -/
 theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
   f.LocallyFinite.closure
 #align bump_covering.locally_finite_tsupport BumpCovering.locallyFinite_tsupport
 
+/- warning: bump_covering.point_finite -> BumpCovering.point_finite is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Set.Finite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Set.Finite.{u1} ι (setOf.{u1} ι (fun (i : ι) => Ne.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (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))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.point_finite BumpCovering.point_finiteₓ'. -/
 protected theorem point_finite (x : X) : { i | f i x ≠ 0 }.Finite :=
   f.LocallyFinite.point_finite x
 #align bump_covering.point_finite BumpCovering.point_finite
 
+/- warning: bump_covering.nonneg -> BumpCovering.nonneg is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} Real Real.hasLe (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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x)
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (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 _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x)
+Case conversion may be inaccurate. Consider using '#align bump_covering.nonneg BumpCovering.nonnegₓ'. -/
 theorem nonneg (i : ι) (x : X) : 0 ≤ f i x :=
   f.nonneg' i x
 #align bump_covering.nonneg BumpCovering.nonneg
 
+/- warning: bump_covering.le_one -> BumpCovering.le_one is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} Real Real.hasLe (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), LE.le.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instLEReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal))
+Case conversion may be inaccurate. Consider using '#align bump_covering.le_one BumpCovering.le_oneₓ'. -/
 theorem le_one (i : ι) (x : X) : f i x ≤ 1 :=
   f.le_one' i x
 #align bump_covering.le_one BumpCovering.le_one
 
+#print BumpCovering.single /-
 /-- A `bump_covering` that consists of a single function, uniformly equal to one, defined as an
 example for `inhabited` instance. -/
 protected def single (i : ι) (s : Set X) : BumpCovering ι X s
@@ -263,7 +372,14 @@ protected def single (i : ι) (s : Set X) : BumpCovering ι X s
   le_one' := update_le_iff.2 ⟨le_rfl, fun _ _ _ => zero_le_one⟩
   eventuallyEq_one' x _ := ⟨i, by simp⟩
 #align bump_covering.single BumpCovering.single
+-/
 
+/- warning: bump_covering.coe_single -> BumpCovering.coe_single is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] (i : ι) (s : Set.{u2} X), Eq.{max (succ u1) (succ u2)} (ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.single.{u1, u2} ι X _inst_1 i s)) (Pi.single.{u1, u2} ι (fun (i : ι) => ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u1} ι a b)) (fun (i : ι) => ContinuousMap.hasZero.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.hasZero) i (OfNat.ofNat.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (OfNat.mk.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (One.one.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.hasOne.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.hasOne)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] (i : ι) (s : Set.{u2} X), Eq.{max (succ u1) (succ u2)} (ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.single.{u1, u2} ι X _inst_1 i s)) (Pi.single.{u1, u2} ι (fun (i : ι) => ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (a : ι) (b : ι) => Classical.propDecidable (Eq.{succ u1} ι a b)) (fun (i : ι) => ContinuousMap.instZeroContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instZeroReal) i (OfNat.ofNat.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (One.toOfNat1.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instOneContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instOneReal))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.coe_single BumpCovering.coe_singleₓ'. -/
 @[simp]
 theorem coe_single (i : ι) (s : Set X) : ⇑(BumpCovering.single i s) = Pi.single i 1 :=
   rfl
@@ -272,16 +388,26 @@ theorem coe_single (i : ι) (s : Set X) : ⇑(BumpCovering.single i s) = Pi.sing
 instance [Inhabited ι] : Inhabited (BumpCovering ι X s) :=
   ⟨BumpCovering.single default s⟩
 
+#print BumpCovering.IsSubordinate /-
 /-- A collection of bump functions `f i` is subordinate to a family of sets `U i` indexed by the
 same type if for each `i` the closure of the support of `f i` is a subset of `U i`. -/
 def IsSubordinate (f : BumpCovering ι X s) (U : ι → Set X) : Prop :=
   ∀ i, tsupport (f i) ⊆ U i
 #align bump_covering.is_subordinate BumpCovering.IsSubordinate
+-/
 
+#print BumpCovering.IsSubordinate.mono /-
 theorem IsSubordinate.mono {f : BumpCovering ι X s} {U V : ι → Set X} (hU : f.IsSubordinate U)
     (hV : ∀ i, U i ⊆ V i) : f.IsSubordinate V := fun i => Subset.trans (hU i) (hV i)
 #align bump_covering.is_subordinate.mono BumpCovering.IsSubordinate.mono
+-/
 
+/- warning: bump_covering.exists_is_subordinate_of_locally_finite_of_prop -> BumpCovering.exists_isSubordinate_of_locallyFinite_of_prop is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.completeBooleanAlgebra.{u2} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} X) (Set.booleanAlgebra.{u2} X))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f)) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (OfNat.mk.{u2} (X -> Real) 0 (Zero.zero.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasZero))))) s) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) t) (forall (x : X), Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f x) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (LocallyFinite.{u1, u2} ι X _inst_1 U) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) s (Set.unionᵢ.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} X) (Preorder.toLE.{u2} (Set.{u2} X) (PartialOrder.toPreorder.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f)) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (Zero.toOfNat0.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instZeroReal)))) s) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instOneReal)))) t) (forall (x : X), Membership.mem.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (Set.{0} Real) (Set.instMembershipSet.{0} Real) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f x) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (LocallyFinite.{u1, u2} ι X _inst_1 U) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) s (Set.unionᵢ.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.exists_is_subordinate_of_locally_finite_of_prop BumpCovering.exists_isSubordinate_of_locallyFinite_of_propₓ'. -/
 /-- If `X` is a normal topological space and `U i`, `i : ι`, is a locally finite open covering of a
 closed set `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. If `X` is a
 paracompact space, then the assumption `hf : locally_finite U` can be omitted, see
@@ -315,6 +441,7 @@ theorem exists_isSubordinate_of_locallyFinite_of_prop [NormalSpace X] (p : (X 
   exact ⟨i, ((hf1 i).mono subset_closure).eventuallyEq_of_mem ((hWo i).mem_nhds hi)⟩
 #align bump_covering.exists_is_subordinate_of_locally_finite_of_prop BumpCovering.exists_isSubordinate_of_locallyFinite_of_prop
 
+#print BumpCovering.exists_isSubordinate_of_locallyFinite /-
 /-- If `X` is a normal topological space and `U i`, `i : ι`, is a locally finite open covering of a
 closed set `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. If `X` is a
 paracompact space, then the assumption `hf : locally_finite U` can be omitted, see
@@ -329,7 +456,14 @@ theorem exists_isSubordinate_of_locallyFinite [NormalSpace X] (hs : IsClosed s)
       hs U ho hf hU
   ⟨f, hfU⟩
 #align bump_covering.exists_is_subordinate_of_locally_finite BumpCovering.exists_isSubordinate_of_locallyFinite
+-/
 
+/- warning: bump_covering.exists_is_subordinate_of_prop -> BumpCovering.exists_isSubordinate_of_prop is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] [_inst_3 : ParacompactSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.completeBooleanAlgebra.{u2} X)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u2} (Set.{u2} X) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u2} (Set.{u2} X) (Set.booleanAlgebra.{u2} X))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f)) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (OfNat.mk.{u2} (X -> Real) 0 (Zero.zero.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasZero))))) s) (And (Set.EqOn.{u2, 0} X Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) t) (forall (x : X), Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) f x) (Set.Icc.{0} Real Real.preorder (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) s (Set.unionᵢ.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} [_inst_2 : NormalSpace.{u2} X _inst_1] [_inst_3 : ParacompactSpace.{u2} X _inst_1] (p : (X -> Real) -> Prop), (forall (s : Set.{u2} X) (t : Set.{u2} X), (IsClosed.{u2} X _inst_1 s) -> (IsClosed.{u2} X _inst_1 t) -> (Disjoint.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) (BoundedOrder.toOrderBot.{u2} (Set.{u2} X) (Preorder.toLE.{u2} (Set.{u2} X) (PartialOrder.toPreorder.{u2} (Set.{u2} X) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} X) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))))) (CompleteLattice.toBoundedOrder.{u2} (Set.{u2} X) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} X) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} X) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} X) (Set.instCompleteBooleanAlgebraSet.{u2} X)))))) s t) -> (Exists.{succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (f : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => And (p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f)) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 0 (Zero.toOfNat0.{u2} (X -> Real) (Pi.instZero.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instZeroReal)))) s) (And (Set.EqOn.{u2, 0} X Real (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Data.Set.Function._hyg.1349 : X) => Real) (fun (i : X) => Real.instOneReal)))) t) (forall (x : X), Membership.mem.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (Set.{0} Real) (Set.instMembershipSet.{0} Real) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) f x) (Set.Icc.{0} Real Real.instPreorderReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))))))) -> (IsClosed.{u2} X _inst_1 s) -> (forall (U : ι -> (Set.{u2} X)), (forall (i : ι), IsOpen.{u2} X _inst_1 (U i)) -> (HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) s (Set.unionᵢ.{u2, succ u1} X ι (fun (i : ι) => U i))) -> (Exists.{max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (f : BumpCovering.{u1, u2} ι X _inst_1 s) => And (forall (i : ι), p (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i))) (BumpCovering.IsSubordinate.{u1, u2} ι X _inst_1 s f U))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.exists_is_subordinate_of_prop BumpCovering.exists_isSubordinate_of_propₓ'. -/
 /-- If `X` is a paracompact normal topological space and `U` is an open covering of a closed set
 `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. This version assumes that
 `p : (X → ℝ) → Prop` is a predicate that satisfies Urysohn's lemma, and provides a
@@ -348,6 +482,7 @@ theorem exists_isSubordinate_of_prop [NormalSpace X] [ParacompactSpace X] (p : (
   exact ⟨f, hfp, hf.mono hVU⟩
 #align bump_covering.exists_is_subordinate_of_prop BumpCovering.exists_isSubordinate_of_prop
 
+#print BumpCovering.exists_isSubordinate /-
 /-- If `X` is a paracompact normal topological space and `U` is an open covering of a closed set
 `s`, then there exists a `bump_covering ι X s` that is subordinate to `U`. -/
 theorem exists_isSubordinate [NormalSpace X] [ParacompactSpace X] (hs : IsClosed s) (U : ι → Set X)
@@ -357,20 +492,36 @@ theorem exists_isSubordinate [NormalSpace X] [ParacompactSpace X] (hs : IsClosed
   rcases exists_is_subordinate_of_locally_finite hs V hVo hVf hsV with ⟨f, hf⟩
   exact ⟨f, hf.mono hVU⟩
 #align bump_covering.exists_is_subordinate BumpCovering.exists_isSubordinate
+-/
 
+#print BumpCovering.ind /-
 /-- Index of a bump function such that `fs i =ᶠ[𝓝 x] 1`. -/
 def ind (x : X) (hx : x ∈ s) : ι :=
   (f.eventuallyEq_one' x hx).some
 #align bump_covering.ind BumpCovering.ind
+-/
 
+/- warning: bump_covering.eventually_eq_one -> BumpCovering.eventuallyEq_one is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s), Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx))) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s), Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx))) (OfNat.ofNat.{u2} (X -> Real) 1 (One.toOfNat1.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (a._@.Mathlib.Order.Filter.Basic._hyg.19133 : X) => Real) (fun (i : X) => Real.instOneReal))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.eventually_eq_one BumpCovering.eventuallyEq_oneₓ'. -/
 theorem eventuallyEq_one (x : X) (hx : x ∈ s) : f (f.ind x hx) =ᶠ[𝓝 x] 1 :=
   (f.eventuallyEq_one' x hx).choose_spec
 #align bump_covering.eventually_eq_one BumpCovering.eventuallyEq_one
 
+/- warning: bump_covering.ind_apply -> BumpCovering.ind_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s), Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx)) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X) (hx : Membership.mem.{u2, u2} X (Set.{u2} X) (Set.instMembershipSet.{u2} X) x s), Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f (BumpCovering.ind.{u1, u2} ι X _inst_1 s f x hx)) x) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal))
+Case conversion may be inaccurate. Consider using '#align bump_covering.ind_apply BumpCovering.ind_applyₓ'. -/
 theorem ind_apply (x : X) (hx : x ∈ s) : f (f.ind x hx) x = 1 :=
   (f.eventuallyEq_one x hx).eq_of_nhds
 #align bump_covering.ind_apply BumpCovering.ind_apply
 
+#print BumpCovering.toPouFun /-
 /-- Partition of unity defined by a `bump_covering`. We use this auxiliary definition to prove some
 properties of the new family of functions before bundling it into a `partition_of_unity`. Do not use
 this definition, use `bump_function.to_partition_of_unity` instead.
@@ -384,15 +535,34 @@ In order to avoid an assumption `linear_order ι`, we use `well_ordering_rel` in
 def toPouFun (i : ι) (x : X) : ℝ :=
   f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), 1 - f j x
 #align bump_covering.to_pou_fun BumpCovering.toPouFun
+-/
 
+/- warning: bump_covering.to_pou_fun_zero_of_zero -> BumpCovering.toPouFun_zero_of_zero is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) {i : ι} {x : X}, (Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Eq.{1} Real (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) {i : ι} {x : X}, (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (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))) -> (Eq.{1} Real (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x) (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)))
+Case conversion may be inaccurate. Consider using '#align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPouFun_zero_of_zeroₓ'. -/
 theorem toPouFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPouFun i x = 0 := by
   rw [to_pou_fun, h, MulZeroClass.zero_mul]
 #align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPouFun_zero_of_zero
 
+/- warning: bump_covering.support_to_pou_fun_subset -> BumpCovering.support_toPouFun_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (Function.support.{u2, 0} X Real Real.hasZero (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i)) (Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (Function.support.{u2, 0} X Real Real.instZeroReal (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i)) (Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)))
+Case conversion may be inaccurate. Consider using '#align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPouFun_subsetₓ'. -/
 theorem support_toPouFun_subset (i : ι) : support (f.toPouFun i) ⊆ support (f i) := fun x =>
   mt <| f.toPouFun_zero_of_zero
 #align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPouFun_subset
 
+/- warning: bump_covering.to_pou_fun_eq_mul_prod -> BumpCovering.toPouFun_eq_mul_prod is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X) (t : Finset.{u1} ι), (forall (j : ι), (WellOrderingRel.{u1} ι j i) -> (Ne.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) j t)) -> (Eq.{1} Real (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (Finset.prod.{0, u1} Real ι Real.commMonoid (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X) (t : Finset.{u1} ι), (forall (j : ι), (WellOrderingRel.{u1} ι j i) -> (Ne.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x) (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))) -> (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) j t)) -> (Eq.{1} Real (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHMul.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instMulReal) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (Finset.prod.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x)))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prodₓ'. -/
 theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPouFun i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j x :=
@@ -403,6 +573,12 @@ theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
   exact flip (ht j) hj
 #align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prod
 
+/- warning: bump_covering.sum_to_pou_fun_eq -> BumpCovering.sum_toPouFun_eq is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Eq.{1} Real (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x)) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (finprod.{0, succ u1} Real ι Real.commMonoid (fun (i : ι) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Eq.{1} Real (finsum.{0, succ u1} Real ι Real.instAddCommMonoidReal (fun (i : ι) => BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i x)) (HSub.hSub.{0, 0, 0} Real ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real (instHSub.{0} Real Real.instSubReal) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (finprod.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (fun (i : ι) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPouFun_eqₓ'. -/
 theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 - f i x :=
   by
   set s := (f.point_finite x).toFinset
@@ -423,6 +599,12 @@ theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 -
   rwa [finite.mem_to_finset]
 #align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPouFun_eq
 
+/- warning: bump_covering.exists_finset_to_pou_fun_eventually_eq -> BumpCovering.exists_finset_toPouFun_eventuallyEq is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (t : Finset.{u1} ι) => Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i) (HMul.hMul.{u2, u2, u2} (X -> Real) (X -> Real) (X -> Real) (instHMul.{u2} (X -> Real) (Pi.instMul.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasMul))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)) (Finset.prod.{u2, u1} (X -> Real) ι (Pi.commMonoid.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.commMonoid)) (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{u2, u2, u2} (X -> Real) (X -> Real) (X -> Real) (instHSub.{u2} (X -> Real) (Pi.instSub.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasSub))) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (t : Finset.{u1} ι) => Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (BumpCovering.toPouFun.{u1, u2} ι X _inst_1 s f i) (HMul.hMul.{u2, u2, u2} (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (instHMul.{u2} (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (Pi.instMul.{u2, 0} X (fun (ᾰ : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (fun (i : X) => Real.instMulReal))) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (a : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) a) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (Finset.prod.{u2, u1} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) ι (ContinuousMap.instCommMonoidContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instCommMonoidReal (TopologicalSemiring.toContinuousMul.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Real (NonAssocRing.toNonUnitalNonAssocRing.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (TopologicalRing.toTopologicalSemiring.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (NonAssocRing.toNonUnitalNonAssocRing.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)) instTopologicalRingRealToTopologicalSpaceToUniformSpacePseudoMetricSpaceToNonUnitalNonAssocRingToNonAssocRingInstRingReal))) (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{u2, u2, u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (instHSub.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instSubContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instSubReal (TopologicalAddGroup.to_continuousSub.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instAddGroupReal instTopologicalAddGroupRealToTopologicalSpaceToUniformSpacePseudoMetricSpaceInstAddGroupReal))) (OfNat.ofNat.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (One.toOfNat1.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instOneContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instOneReal))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j))))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.exists_finset_to_pou_fun_eventually_eq BumpCovering.exists_finset_toPouFun_eventuallyEqₓ'. -/
 theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
       f.toPouFun i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j :=
@@ -436,6 +618,7 @@ theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) :
   exact hf.mem_to_finset.2 ⟨y, ⟨hj, hyU⟩⟩
 #align bump_covering.exists_finset_to_pou_fun_eventually_eq BumpCovering.exists_finset_toPouFun_eventuallyEq
 
+#print BumpCovering.continuous_toPouFun /-
 theorem continuous_toPouFun (i : ι) : Continuous (f.toPouFun i) :=
   by
   refine'
@@ -444,7 +627,9 @@ theorem continuous_toPouFun (i : ι) : Continuous (f.toPouFun i) :=
   simp only [mul_support_one_sub]
   exact f.locally_finite
 #align bump_covering.continuous_to_pou_fun BumpCovering.continuous_toPouFun
+-/
 
+#print BumpCovering.toPartitionOfUnity /-
 /-- The partition of unity defined by a `bump_covering`.
 
 The partition of unity is given by the formula `g i x = f i x * ∏ᶠ j < i, (1 - f j x)`. In other
@@ -471,43 +656,82 @@ def toPartitionOfUnity : PartitionOfUnity ι X s
     simp only [ContinuousMap.coe_mk, sum_to_pou_fun_eq, sub_le_self_iff]
     exact finprod_nonneg fun i => sub_nonneg.2 <| f.le_one i x
 #align bump_covering.to_partition_of_unity BumpCovering.toPartitionOfUnity
+-/
 
+/- warning: bump_covering.to_partition_of_unity_apply -> BumpCovering.toPartitionOfUnity_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (finprod.{0, succ u1} Real ι Real.commMonoid (fun (j : ι) => finprod.{0, 0} Real (WellOrderingRel.{u1} ι j i) Real.commMonoid (fun (hj : WellOrderingRel.{u1} ι j i) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHMul.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instMulReal) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (finprod.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (fun (j : ι) => finprod.{0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (WellOrderingRel.{u1} ι j i) Real.instCommMonoidReal (fun (hj : WellOrderingRel.{u1} ι j i) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x)))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.to_partition_of_unity_apply BumpCovering.toPartitionOfUnity_applyₓ'. -/
 theorem toPartitionOfUnity_apply (i : ι) (x : X) :
     f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (hj : WellOrderingRel j i), 1 - f j x :=
   rfl
 #align bump_covering.to_partition_of_unity_apply BumpCovering.toPartitionOfUnity_apply
 
+/- warning: bump_covering.to_partition_of_unity_eq_mul_prod -> BumpCovering.toPartitionOfUnity_eq_mul_prod is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X) (t : Finset.{u1} ι), (forall (j : ι), (WellOrderingRel.{u1} ι j i) -> (Ne.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Membership.Mem.{u1, u1} ι (Finset.{u1} ι) (Finset.hasMem.{u1} ι) j t)) -> (Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (Finset.prod.{0, u1} Real ι Real.commMonoid (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j) x)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X) (t : Finset.{u1} ι), (forall (j : ι), (WellOrderingRel.{u1} ι j i) -> (Ne.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x) (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))) -> (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) j t)) -> (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHMul.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instMulReal) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (Finset.prod.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j) x)))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prodₓ'. -/
 theorem toPartitionOfUnity_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPartitionOfUnity i x = f i x * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j x :=
   f.toPouFun_eq_mul_prod i x t ht
 #align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prod
 
+/- warning: bump_covering.exists_finset_to_partition_of_unity_eventually_eq -> BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (t : Finset.{u1} ι) => Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i)) (HMul.hMul.{u2, u2, u2} (X -> Real) (X -> Real) (X -> Real) (instHMul.{u2} (X -> Real) (Pi.instMul.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasMul))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)) (Finset.prod.{u2, u1} (X -> Real) ι (Pi.commMonoid.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.commMonoid)) (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{u2, u2, u2} (X -> Real) (X -> Real) (X -> Real) (instHSub.{u2} (X -> Real) (Pi.instSub.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasSub))) (OfNat.ofNat.{u2} (X -> Real) 1 (OfNat.mk.{u2} (X -> Real) 1 (One.one.{u2} (X -> Real) (Pi.instOne.{u2, 0} X (fun (ᾰ : X) => Real) (fun (i : X) => Real.hasOne))))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f j))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι) (x : X), Exists.{succ u1} (Finset.{u1} ι) (fun (t : Finset.{u1} ι) => Filter.EventuallyEq.{u2, 0} X Real (nhds.{u2} X _inst_1 x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i)) (HMul.hMul.{u2, u2, u2} (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (instHMul.{u2} (forall (ᾰ : X), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (Pi.instMul.{u2, 0} X (fun (ᾰ : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) ᾰ) (fun (i : X) => Real.instMulReal))) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X (fun (a : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) a) (ContinuousMapClass.toFunLike.{u2, u2, 0} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (Finset.prod.{u2, u1} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) ι (ContinuousMap.instCommMonoidContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instCommMonoidReal (TopologicalSemiring.toContinuousMul.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{0} Real (NonAssocRing.toNonUnitalNonAssocRing.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal))) (TopologicalRing.toTopologicalSemiring.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (NonAssocRing.toNonUnitalNonAssocRing.{0} Real (Ring.toNonAssocRing.{0} Real Real.instRingReal)) instTopologicalRingRealToTopologicalSpaceToUniformSpacePseudoMetricSpaceToNonUnitalNonAssocRingToNonAssocRingInstRingReal))) (Finset.filter.{u1} ι (fun (j : ι) => WellOrderingRel.{u1} ι j i) (fun (a : ι) => Classical.propDecidable ((fun (j : ι) => WellOrderingRel.{u1} ι j i) a)) t) (fun (j : ι) => HSub.hSub.{u2, u2, u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (instHSub.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instSubContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instSubReal (TopologicalAddGroup.to_continuousSub.{0} Real (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instAddGroupReal instTopologicalAddGroupRealToTopologicalSpaceToUniformSpacePseudoMetricSpaceInstAddGroupReal))) (OfNat.ofNat.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) 1 (One.toOfNat1.{u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (ContinuousMap.instOneContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) Real.instOneReal))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f j))))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEqₓ'. -/
 theorem exists_finset_toPartitionOfUnity_eventuallyEq (i : ι) (x : X) :
     ∃ t : Finset ι,
       f.toPartitionOfUnity i =ᶠ[𝓝 x] f i * ∏ j in t.filterₓ fun j => WellOrderingRel j i, 1 - f j :=
   f.exists_finset_toPouFun_eventuallyEq i x
 #align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq
 
+/- warning: bump_covering.to_partition_of_unity_zero_of_zero -> BumpCovering.toPartitionOfUnity_zero_of_zero is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) {i : ι} {x : X}, (Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Eq.{1} Real (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) {i : ι} {x : X}, (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x) (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))) -> (Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x) (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)))
+Case conversion may be inaccurate. Consider using '#align bump_covering.to_partition_of_unity_zero_of_zero BumpCovering.toPartitionOfUnity_zero_of_zeroₓ'. -/
 theorem toPartitionOfUnity_zero_of_zero {i : ι} {x : X} (h : f i x = 0) :
     f.toPartitionOfUnity i x = 0 :=
   f.toPouFun_zero_of_zero h
 #align bump_covering.to_partition_of_unity_zero_of_zero BumpCovering.toPartitionOfUnity_zero_of_zero
 
+/- warning: bump_covering.support_to_partition_of_unity_subset -> BumpCovering.support_toPartitionOfUnity_subset is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.hasSubset.{u2} X) (Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i))) (Function.support.{u2, 0} X Real Real.hasZero (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (i : ι), HasSubset.Subset.{u2} (Set.{u2} X) (Set.instHasSubsetSet.{u2} X) (Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i))) (Function.support.{u2, 0} X Real Real.instZeroReal (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i)))
+Case conversion may be inaccurate. Consider using '#align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subsetₓ'. -/
 theorem support_toPartitionOfUnity_subset (i : ι) :
     support (f.toPartitionOfUnity i) ⊆ support (f i) :=
   f.support_toPouFun_subset i
 #align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subset
 
+/- warning: bump_covering.sum_to_partition_of_unity_eq -> BumpCovering.sum_toPartitionOfUnity_eq is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Eq.{1} Real (finsum.{0, succ u1} Real ι Real.addCommMonoid (fun (i : ι) => coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PartitionOfUnity.{u1, u2} ι X _inst_1 s) (fun (_x : PartitionOfUnity.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.hasCoeToFun.{u1, u2} ι X _inst_1 s) (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x)) (HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (finprod.{0, succ u1} Real ι Real.commMonoid (fun (i : ι) => HSub.hSub.{0, 0, 0} Real Real Real (instHSub.{0} Real Real.hasSub) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (coeFn.{succ u2, succ u2} (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (fun (_x : ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) => X -> Real) (ContinuousMap.hasCoeToFun.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (BumpCovering.{u1, u2} ι X _inst_1 s) (fun (_x : BumpCovering.{u1, u2} ι X _inst_1 s) => ι -> (ContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.hasCoeToFun.{u1, u2} ι X _inst_1 s) f i) x))))
+but is expected to have type
+  forall {ι : Type.{u1}} {X : Type.{u2}} [_inst_1 : TopologicalSpace.{u2} X] {s : Set.{u2} X} (f : BumpCovering.{u1, u2} ι X _inst_1 s) (x : X), Eq.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (finsum.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instAddCommMonoidReal (fun (i : ι) => FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (PartitionOfUnity.toFun.{u1, u2} ι X _inst_1 s (BumpCovering.toPartitionOfUnity.{u1, u2} ι X _inst_1 s f) i) x)) (HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (finprod.{0, succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ι Real.instCommMonoidReal (fun (i : ι) => HSub.hSub.{0, 0, 0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (instHSub.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instSubReal) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) 1 (One.toOfNat1.{0} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) Real.instOneReal)) (FunLike.coe.{succ u2, succ u2, 1} (ContinuousMap.{u2, 0} X Real _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 _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace))) X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, 0} X Real _inst_1 (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)))) (BumpCovering.toFun.{u1, u2} ι X _inst_1 s f i) x))))
+Case conversion may be inaccurate. Consider using '#align bump_covering.sum_to_partition_of_unity_eq BumpCovering.sum_toPartitionOfUnity_eqₓ'. -/
 theorem sum_toPartitionOfUnity_eq (x : X) :
     (∑ᶠ i, f.toPartitionOfUnity i x) = 1 - ∏ᶠ i, 1 - f i x :=
   f.sum_toPouFun_eq x
 #align bump_covering.sum_to_partition_of_unity_eq BumpCovering.sum_toPartitionOfUnity_eq
 
+#print BumpCovering.IsSubordinate.toPartitionOfUnity /-
 theorem IsSubordinate.toPartitionOfUnity {f : BumpCovering ι X s} {U : ι → Set X}
     (h : f.IsSubordinate U) : f.toPartitionOfUnity.IsSubordinate U := fun i =>
   Subset.trans (closure_mono <| f.support_toPartitionOfUnity_subset i) (h i)
 #align bump_covering.is_subordinate.to_partition_of_unity BumpCovering.IsSubordinate.toPartitionOfUnity
+-/
 
 end BumpCovering
 
@@ -518,6 +742,7 @@ variable {s : Set X}
 instance [Inhabited ι] : Inhabited (PartitionOfUnity ι X s) :=
   ⟨BumpCovering.toPartitionOfUnity default⟩
 
+#print PartitionOfUnity.exists_isSubordinate_of_locallyFinite /-
 /-- If `X` is a normal topological space and `U` is a locally finite open covering of a closed set
 `s`, then there exists a `partition_of_unity ι X s` that is subordinate to `U`. If `X` is a
 paracompact space, then the assumption `hf : locally_finite U` can be omitted, see
@@ -528,7 +753,9 @@ theorem exists_isSubordinate_of_locallyFinite [NormalSpace X] (hs : IsClosed s)
   let ⟨f, hf⟩ := BumpCovering.exists_isSubordinate_of_locallyFinite hs U ho hf hU
   ⟨f.toPartitionOfUnity, hf.toPartitionOfUnity⟩
 #align partition_of_unity.exists_is_subordinate_of_locally_finite PartitionOfUnity.exists_isSubordinate_of_locallyFinite
+-/
 
+#print PartitionOfUnity.exists_isSubordinate /-
 /-- If `X` is a paracompact normal topological space and `U` is an open covering of a closed set
 `s`, then there exists a `partition_of_unity ι X s` that is subordinate to `U`. -/
 theorem exists_isSubordinate [NormalSpace X] [ParacompactSpace X] (hs : IsClosed s) (U : ι → Set X)
@@ -537,6 +764,7 @@ theorem exists_isSubordinate [NormalSpace X] [ParacompactSpace X] (hs : IsClosed
   let ⟨f, hf⟩ := BumpCovering.exists_isSubordinate hs U ho hU
   ⟨f.toPartitionOfUnity, hf.toPartitionOfUnity⟩
 #align partition_of_unity.exists_is_subordinate PartitionOfUnity.exists_isSubordinate
+-/
 
 end PartitionOfUnity
 
Diff
@@ -386,7 +386,7 @@ def toPouFun (i : ι) (x : X) : ℝ :=
 #align bump_covering.to_pou_fun BumpCovering.toPouFun
 
 theorem toPouFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPouFun i x = 0 := by
-  rw [to_pou_fun, h, zero_mul]
+  rw [to_pou_fun, h, MulZeroClass.zero_mul]
 #align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPouFun_zero_of_zero
 
 theorem support_toPouFun_subset (i : ι) : support (f.toPouFun i) ⊆ support (f i) := fun x =>

Changes in mathlib4

mathlib3
mathlib4
chore: tidy various files (#12213)
Diff
@@ -302,7 +302,7 @@ theorem exists_finset_nhd (ρ : PartitionOfUnity ι X univ) (x₀ : X) :
 
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
-    ∃ (is : Finset ι),  ∃ n ∈ 𝓝 x, n ⊆ ⋂ i ∈ is, U i ∧ ∀ z ∈ n, (support (f · z)) ⊆ is :=
+    ∃ is : Finset ι, ∃ n ∈ 𝓝 x, n ⊆ ⋂ i ∈ is, U i ∧ ∀ z ∈ n, (support (f · z)) ⊆ is :=
   f.locallyFinite.exists_finset_nhd_support_subset hso ho x
 #align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subset
 
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11813)
Diff
@@ -483,7 +483,7 @@ theorem toPOUFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPOUFun i x = f i x * ∏ j in t.filter fun j => WellOrderingRel j i, (1 - f j x) := by
   refine' congr_arg _ (finprod_cond_eq_prod_of_cond_iff _ fun {j} hj => _)
-  rw [Ne.def, sub_eq_self] at hj
+  rw [Ne, sub_eq_self] at hj
   rw [Finset.mem_filter, Iff.comm, and_iff_right_iff_imp]
   exact flip (ht j) hj
 #align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPOUFun_eq_mul_prod
chore: scope open Classical (#11199)

We remove all but one open Classicals, instead preferring to use open scoped Classical. The only real side-effect this led to is moving a couple declarations to use Exists.choose instead of Classical.choose.

The first few commits are explicitly labelled regex replaces for ease of review.

Diff
@@ -80,7 +80,8 @@ universe u v
 
 open Function Set Filter
 
-open BigOperators Topology Classical
+open scoped Classical
+open BigOperators Topology
 
 noncomputable section
 
feat: fintsupport of (smooth) partitions of unity (#10015)

From sphere-eversion: the result is used there for smooth partitions of unity, but also holds in the continuous setting.

In passing,

  • use Type* (not Type _) in sum_finsupport_smul_eq_finsum,
  • tag SmoothPartitionOfUnity.toPartitionOfUnity with @simps.
Diff
@@ -180,7 +180,7 @@ section finsupport
 variable {s : Set X} (ρ : PartitionOfUnity ι X s) (x₀ : X)
 
 /-- The support of a partition of unity at a point `x₀` as a `Finset`.
-  This is the set of `i : ι` such that `f i` doesn't vanish at `x₀`. -/
+  This is the set of `i : ι` such that `x₀ ∈ support f i`, i.e. `f i ≠ x₀`. -/
 def finsupport : Finset ι := (ρ.locallyFinite.point_finite x₀).toFinset
 
 @[simp]
@@ -210,7 +210,7 @@ theorem sum_finsupport' (hx₀ : x₀ ∈ s) {I : Finset ι} (hI : ρ.finsupport
   simp only [Finset.mem_sdiff, ρ.mem_finsupport, mem_support, Classical.not_not] at hx
   exact hx.2
 
-theorem sum_finsupport_smul_eq_finsum {M : Type _} [AddCommGroup M] [Module ℝ M] (φ : ι → X → M) :
+theorem sum_finsupport_smul_eq_finsum {M : Type*} [AddCommGroup M] [Module ℝ M] (φ : ι → X → M) :
     ∑ i in ρ.finsupport x₀, ρ i x₀ • φ i x₀ = ∑ᶠ i, ρ i x₀ • φ i x₀ := by
   apply (finsum_eq_sum_of_support_subset _ _).symm
   have : (fun i ↦ (ρ i) x₀ • φ i x₀) = (fun i ↦ (ρ i) x₀) • (fun i ↦ φ i x₀) :=
@@ -220,6 +220,44 @@ theorem sum_finsupport_smul_eq_finsum {M : Type _} [AddCommGroup M] [Module ℝ
 
 end finsupport
 
+section fintsupport -- partitions of unity have locally finite `tsupport`
+
+variable {s : Set X} (ρ : PartitionOfUnity ι X s) (x₀ : X)
+
+/-- The `tsupport`s of a partition of unity are locally finite. -/
+theorem finite_tsupport : {i | x₀ ∈ tsupport (ρ i)}.Finite := by
+  rcases ρ.locallyFinite x₀ with ⟨t, t_in, ht⟩
+  apply ht.subset
+  rintro i hi
+  simp only [inter_comm]
+  exact mem_closure_iff_nhds.mp hi t t_in
+
+/-- The tsupport of a partition of unity at a point `x₀` as a `Finset`.
+  This is the set of `i : ι` such that `x₀ ∈ tsupport f i`. -/
+def fintsupport (x₀ : X) : Finset ι :=
+  (ρ.finite_tsupport x₀).toFinset
+
+theorem mem_fintsupport_iff (i : ι) : i ∈ ρ.fintsupport x₀ ↔ x₀ ∈ tsupport (ρ i) :=
+  Finite.mem_toFinset _
+
+theorem eventually_fintsupport_subset :
+    ∀ᶠ y in 𝓝 x₀, ρ.fintsupport y ⊆ ρ.fintsupport x₀ := by
+  apply (ρ.locallyFinite.closure.eventually_subset (fun _ ↦ isClosed_closure) x₀).mono
+  intro y hy z hz
+  rw [PartitionOfUnity.mem_fintsupport_iff] at *
+  exact hy hz
+
+theorem finsupport_subset_fintsupport : ρ.finsupport x₀ ⊆ ρ.fintsupport x₀ := fun i hi ↦ by
+  rw [ρ.mem_fintsupport_iff]
+  apply subset_closure
+  exact (ρ.mem_finsupport x₀).mp hi
+
+theorem eventually_finsupport_subset : ∀ᶠ y in 𝓝 x₀, ρ.finsupport y ⊆ ρ.fintsupport x₀ :=
+  (ρ.eventually_fintsupport_subset x₀).mono
+    fun y hy ↦ (ρ.finsupport_subset_fintsupport y).trans hy
+
+end fintsupport
+
 /-- If `f` is a partition of unity on `s : Set X` and `g : X → E` is continuous at every point of
 the topological support of some `f i`, then `fun x ↦ f i x • g x` is continuous on the whole space.
 -/
chore: tidy various files (#9903)
Diff
@@ -183,17 +183,17 @@ variable {s : Set X} (ρ : PartitionOfUnity ι X s) (x₀ : X)
   This is the set of `i : ι` such that `f i` doesn't vanish at `x₀`. -/
 def finsupport : Finset ι := (ρ.locallyFinite.point_finite x₀).toFinset
 
-@[simp]
-theorem coe_finsupport (x₀ : X) :
-    (ρ.finsupport x₀ : Set ι) = support fun i ↦ ρ i x₀ := by
-  rw [finsupport, Finite.coe_toFinset, setOf_set]
-  rfl
-
 @[simp]
 theorem mem_finsupport (x₀ : X) {i} :
     i ∈ ρ.finsupport x₀ ↔ i ∈ support fun i ↦ ρ i x₀ := by
   simp only [finsupport, mem_support, Finite.mem_toFinset, mem_setOf_eq]
 
+@[simp]
+theorem coe_finsupport (x₀ : X) :
+    (ρ.finsupport x₀ : Set ι) = support fun i ↦ ρ i x₀ := by
+  ext
+  rw [Finset.mem_coe, mem_finsupport]
+
 variable {x₀ : X}
 
 theorem sum_finsupport (hx₀ : x₀ ∈ s) : ∑ i in ρ.finsupport x₀, ρ i x₀ = 1 := by
@@ -213,7 +213,8 @@ theorem sum_finsupport' (hx₀ : x₀ ∈ s) {I : Finset ι} (hI : ρ.finsupport
 theorem sum_finsupport_smul_eq_finsum {M : Type _} [AddCommGroup M] [Module ℝ M] (φ : ι → X → M) :
     ∑ i in ρ.finsupport x₀, ρ i x₀ • φ i x₀ = ∑ᶠ i, ρ i x₀ • φ i x₀ := by
   apply (finsum_eq_sum_of_support_subset _ _).symm
-  have : (fun i ↦ (ρ i) x₀ • φ i x₀) = (fun i ↦ (ρ i) x₀) • (fun i ↦ φ i x₀) := rfl
+  have : (fun i ↦ (ρ i) x₀ • φ i x₀) = (fun i ↦ (ρ i) x₀) • (fun i ↦ φ i x₀) :=
+    funext fun _ => (Pi.smul_apply' _ _ _).symm
   rw [ρ.coe_finsupport x₀, this, support_smul]
   exact inter_subset_left _ _
 
refactor(*): abbreviation for non-dependent FunLike (#9833)

This follows up from #9785, which renamed FunLike to DFunLike, by introducing a new abbreviation FunLike F α β := DFunLike F α (fun _ => β), to make the non-dependent use of FunLike easier.

I searched for the pattern DFunLike.*fun and DFunLike.*λ in all files to replace expressions of the form DFunLike F α (fun _ => β) with FunLike F α β. I did this everywhere except for extends clauses for two reasons: it would conflict with #8386, and more importantly extends must directly refer to a structure with no unfolding of defs or abbrevs.

Diff
@@ -135,7 +135,7 @@ namespace PartitionOfUnity
 variable {E : Type*} [AddCommMonoid E] [SMulWithZero ℝ E] [TopologicalSpace E] [ContinuousSMul ℝ E]
   {s : Set X} (f : PartitionOfUnity ι X s)
 
-instance : DFunLike (PartitionOfUnity ι X s) ι fun _ ↦ C(X, ℝ) where
+instance : FunLike (PartitionOfUnity ι X s) ι C(X, ℝ) where
   coe := toFun
   coe_injective' := fun f g h ↦ by cases f; cases g; congr
 
@@ -281,7 +281,7 @@ namespace BumpCovering
 
 variable {s : Set X} (f : BumpCovering ι X s)
 
-instance : DFunLike (BumpCovering ι X s) ι fun _ ↦ C(X, ℝ) where
+instance : FunLike (BumpCovering ι X s) ι C(X, ℝ) where
   coe := toFun
   coe_injective' := fun f g h ↦ by cases f; cases g; congr
 
chore(*): rename FunLike to DFunLike (#9785)

This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.

This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:

sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean     
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean

Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -135,7 +135,7 @@ namespace PartitionOfUnity
 variable {E : Type*} [AddCommMonoid E] [SMulWithZero ℝ E] [TopologicalSpace E] [ContinuousSMul ℝ E]
   {s : Set X} (f : PartitionOfUnity ι X s)
 
-instance : FunLike (PartitionOfUnity ι X s) ι fun _ ↦ C(X, ℝ) where
+instance : DFunLike (PartitionOfUnity ι X s) ι fun _ ↦ C(X, ℝ) where
   coe := toFun
   coe_injective' := fun f g h ↦ by cases f; cases g; congr
 
@@ -281,7 +281,7 @@ namespace BumpCovering
 
 variable {s : Set X} (f : BumpCovering ι X s)
 
-instance : FunLike (BumpCovering ι X s) ι fun _ ↦ C(X, ℝ) where
+instance : DFunLike (BumpCovering ι X s) ι fun _ ↦ C(X, ℝ) where
   coe := toFun
   coe_injective' := fun f g h ↦ by cases f; cases g; congr
 
feat: lemmas about partitions of unity (#9635)
  • add finsupport: the support (the set of indices which functions are non-vanishing) at a point, as a Finset
  • every point has a neighbourhood on which only finitely many functions are non-vanishing

From sphere-eversion; I'm just upstreaming results.

Diff
@@ -16,8 +16,9 @@ import Mathlib.Topology.UrysohnsLemma
 # Continuous partition of unity
 
 In this file we define `PartitionOfUnity (ι X : Type*) [TopologicalSpace X] (s : Set X := univ)`
-to be a continuous partition of unity on `s` indexed by `ι`. More precisely, `f : PartitionOfUnity
-ι X s` is a collection of continuous functions `f i : C(X, ℝ)`, `i : ι`, such that
+to be a continuous partition of unity on `s` indexed by `ι`. More precisely,
+`f : PartitionOfUnity ι X s` is a collection of continuous functions `f i : C(X, ℝ)`, `i : ι`,
+such that
 
 * the supports of `f i` form a locally finite family of sets;
 * each `f i` is nonnegative;
@@ -174,6 +175,50 @@ theorem le_one (i : ι) (x : X) : f i x ≤ 1 :=
   (single_le_finsum i (f.locallyFinite.point_finite x) fun j => f.nonneg j x).trans (f.sum_le_one x)
 #align partition_of_unity.le_one PartitionOfUnity.le_one
 
+section finsupport
+
+variable {s : Set X} (ρ : PartitionOfUnity ι X s) (x₀ : X)
+
+/-- The support of a partition of unity at a point `x₀` as a `Finset`.
+  This is the set of `i : ι` such that `f i` doesn't vanish at `x₀`. -/
+def finsupport : Finset ι := (ρ.locallyFinite.point_finite x₀).toFinset
+
+@[simp]
+theorem coe_finsupport (x₀ : X) :
+    (ρ.finsupport x₀ : Set ι) = support fun i ↦ ρ i x₀ := by
+  rw [finsupport, Finite.coe_toFinset, setOf_set]
+  rfl
+
+@[simp]
+theorem mem_finsupport (x₀ : X) {i} :
+    i ∈ ρ.finsupport x₀ ↔ i ∈ support fun i ↦ ρ i x₀ := by
+  simp only [finsupport, mem_support, Finite.mem_toFinset, mem_setOf_eq]
+
+variable {x₀ : X}
+
+theorem sum_finsupport (hx₀ : x₀ ∈ s) : ∑ i in ρ.finsupport x₀, ρ i x₀ = 1 := by
+  rw [← ρ.sum_eq_one hx₀, finsum_eq_sum_of_support_subset _ (ρ.coe_finsupport x₀).superset]
+
+theorem sum_finsupport' (hx₀ : x₀ ∈ s) {I : Finset ι} (hI : ρ.finsupport x₀ ⊆ I) :
+    ∑ i in I, ρ i x₀ = 1 := by
+  classical
+  rw [← Finset.sum_sdiff hI, ρ.sum_finsupport hx₀]
+  suffices ∑ i in I \ ρ.finsupport x₀, (ρ i) x₀ = ∑ i in I \ ρ.finsupport x₀, 0 by
+    rw [this, add_left_eq_self, Finset.sum_const_zero]
+  apply Finset.sum_congr rfl
+  rintro x hx
+  simp only [Finset.mem_sdiff, ρ.mem_finsupport, mem_support, Classical.not_not] at hx
+  exact hx.2
+
+theorem sum_finsupport_smul_eq_finsum {M : Type _} [AddCommGroup M] [Module ℝ M] (φ : ι → X → M) :
+    ∑ i in ρ.finsupport x₀, ρ i x₀ • φ i x₀ = ∑ᶠ i, ρ i x₀ • φ i x₀ := by
+  apply (finsum_eq_sum_of_support_subset _ _).symm
+  have : (fun i ↦ (ρ i) x₀ • φ i x₀) = (fun i ↦ (ρ i) x₀) • (fun i ↦ φ i x₀) := rfl
+  rw [ρ.coe_finsupport x₀, this, support_smul]
+  exact inter_subset_left _ _
+
+end finsupport
+
 /-- If `f` is a partition of unity on `s : Set X` and `g : X → E` is continuous at every point of
 the topological support of some `f i`, then `fun x ↦ f i x • g x` is continuous on the whole space.
 -/
@@ -201,6 +246,20 @@ def IsSubordinate (U : ι → Set X) : Prop :=
 
 variable {f}
 
+theorem exists_finset_nhd' {s : Set X} (ρ : PartitionOfUnity ι X s) (x₀ : X) :
+    ∃ I : Finset ι, (∀ᶠ x in 𝓝[s] x₀, ∑ i in I, ρ i x = 1) ∧
+      ∀ᶠ x in 𝓝 x₀, support (ρ · x) ⊆ I := by
+  rcases ρ.locallyFinite.exists_finset_support x₀ with ⟨I, hI⟩
+  refine ⟨I, eventually_nhdsWithin_iff.mpr (hI.mono fun x hx x_in ↦ ?_), hI⟩
+  have : ∑ᶠ i : ι, ρ i x = ∑ i : ι in I, ρ i x := finsum_eq_sum_of_support_subset _ hx
+  rwa [eq_comm, ρ.sum_eq_one x_in] at this
+
+theorem exists_finset_nhd (ρ : PartitionOfUnity ι X univ) (x₀ : X) :
+    ∃ I : Finset ι, ∀ᶠ x in 𝓝 x₀, ∑ i in I, ρ i x = 1 ∧ support (ρ · x) ⊆ I := by
+  rcases ρ.exists_finset_nhd' x₀ with ⟨I, H⟩
+  use I
+  rwa [nhdsWithin_univ, ← eventually_and] at H
+
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
     ∃ (is : Finset ι),  ∃ n ∈ 𝓝 x, n ⊆ ⋂ i ∈ is, U i ∧ ∀ z ∈ n, (support (f · z)) ⊆ is :=
chore(*): use ∃ x ∈ s, _ instead of ∃ (x) (_ : x ∈ s), _ (#9215)

Follow-up #9184

Diff
@@ -203,12 +203,8 @@ variable {f}
 
 theorem exists_finset_nhd_support_subset {U : ι → Set X} (hso : f.IsSubordinate U)
     (ho : ∀ i, IsOpen (U i)) (x : X) :
-    ∃ (is : Finset ι) (n : Set X) (_ : n ∈ 𝓝 x) (_ : n ⊆ ⋂ i ∈ is, U i),
-      ∀ z ∈ n, (support fun i => f i z) ⊆ is :=
-  -- Porting note: Original proof was simply
-  -- `f.locallyFinite.exists_finset_nhd_support_subset hso ho x`
-  let ⟨a, ⟨b, ⟨c, ⟨d, e⟩⟩⟩⟩ := f.locallyFinite.exists_finset_nhd_support_subset hso ho x
-  ⟨a, b, c, d, e⟩
+    ∃ (is : Finset ι),  ∃ n ∈ 𝓝 x, n ⊆ ⋂ i ∈ is, U i ∧ ∀ z ∈ n, (support (f · z)) ⊆ is :=
+  f.locallyFinite.exists_finset_nhd_support_subset hso ho x
 #align partition_of_unity.exists_finset_nhd_support_subset PartitionOfUnity.exists_finset_nhd_support_subset
 
 /-- If `f` is a partition of unity that is subordinate to a family of open sets `U i` and
chore: rename some lemmas involving "of_closed" (#8492)

Three particular examples which caught my eye; not exhaustive.

Diff
@@ -321,7 +321,7 @@ theorem exists_isSubordinate_of_locallyFinite [NormalSpace X] (hs : IsClosed s)
   let ⟨f, _, hfU⟩ :=
     exists_isSubordinate_of_locallyFinite_of_prop (fun _ => True)
       (fun _ _ hs ht hd =>
-        (exists_continuous_zero_one_of_closed hs ht hd).imp fun _ hf => ⟨trivial, hf⟩)
+        (exists_continuous_zero_one_of_isClosed hs ht hd).imp fun _ hf => ⟨trivial, hf⟩)
       hs U ho hf hU
   ⟨f, hfU⟩
 #align bump_covering.exists_is_subordinate_of_locally_finite BumpCovering.exists_isSubordinate_of_locallyFinite
chore(Topology/SubsetProperties): Refactor SubsetProperties.lean (#7628)

Split up the 2000-line Topology/SubsetProperties.lean into several smaller files. Not only is it too huge, but the name is very unhelpful, since actually about 90% of the file is about compactness; I've moved this material into various files inside a new subdirectory Topology/Compactness/.

Diff
@@ -6,7 +6,7 @@ Authors: Yury Kudryashov
 import Mathlib.Algebra.BigOperators.Finprod
 import Mathlib.SetTheory.Ordinal.Basic
 import Mathlib.Topology.ContinuousFunction.Algebra
-import Mathlib.Topology.Paracompact
+import Mathlib.Topology.Compactness.Paracompact
 import Mathlib.Topology.ShrinkingLemma
 import Mathlib.Topology.UrysohnsLemma
 
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -377,7 +377,7 @@ def toPOUFun (i : ι) (x : X) : ℝ :=
 #align bump_covering.to_pou_fun BumpCovering.toPOUFun
 
 theorem toPOUFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPOUFun i x = 0 := by
-  rw [toPOUFun, h, MulZeroClass.zero_mul]
+  rw [toPOUFun, h, zero_mul]
 #align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPOUFun_zero_of_zero
 
 theorem support_toPOUFun_subset (i : ι) : support (f.toPOUFun i) ⊆ support (f i) :=
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
@@ -15,7 +15,7 @@ import Mathlib.Topology.UrysohnsLemma
 /-!
 # Continuous partition of unity
 
-In this file we define `PartitionOfUnity (ι X : Type _) [TopologicalSpace X] (s : Set X := univ)`
+In this file we define `PartitionOfUnity (ι X : Type*) [TopologicalSpace X] (s : Set X := univ)`
 to be a continuous partition of unity on `s` indexed by `ι`. More precisely, `f : PartitionOfUnity
 ι X s` is a collection of continuous functions `f i : C(X, ℝ)`, `i : ι`, such that
 
@@ -28,7 +28,7 @@ In the case `s = univ` the last assumption follows from the previous one but it
 have this assumption in the case `s ≠ univ`.
 
 We also define a bump function covering,
-`BumpCovering (ι X : Type _) [TopologicalSpace X] (s : Set X := univ)`, to be a collection of
+`BumpCovering (ι X : Type*) [TopologicalSpace X] (s : Set X := univ)`, to be a collection of
 functions `f i : C(X, ℝ)`, `i : ι`, such that
 
 * the supports of `f i` form a locally finite family of sets;
@@ -96,7 +96,7 @@ If `X` is a normal paracompact space, then `PartitionOfUnity.exists_isSubordinat
 that for every open covering `U : Set (Set X)` of `s` there exists a partition of unity that is
 subordinate to `U`.
 -/
-structure PartitionOfUnity (ι X : Type _) [TopologicalSpace X] (s : Set X := univ) where
+structure PartitionOfUnity (ι X : Type*) [TopologicalSpace X] (s : Set X := univ) where
   toFun : ι → C(X, ℝ)
   locallyFinite' : LocallyFinite fun i => support (toFun i)
   nonneg' : 0 ≤ toFun
@@ -119,7 +119,7 @@ If `X` is a normal paracompact space, then `BumpCovering.exists_isSubordinate` g
 every open covering `U : Set (Set X)` of `s` there exists a `BumpCovering` of `s` that is
 subordinate to `U`.
 -/
-structure BumpCovering (ι X : Type _) [TopologicalSpace X] (s : Set X := univ) where
+structure BumpCovering (ι X : Type*) [TopologicalSpace X] (s : Set X := univ) where
   toFun : ι → C(X, ℝ)
   locallyFinite' : LocallyFinite fun i => support (toFun i)
   nonneg' : 0 ≤ toFun
@@ -131,7 +131,7 @@ variable {ι : Type u} {X : Type v} [TopologicalSpace X]
 
 namespace PartitionOfUnity
 
-variable {E : Type _} [AddCommMonoid E] [SMulWithZero ℝ E] [TopologicalSpace E] [ContinuousSMul ℝ E]
+variable {E : Type*} [AddCommMonoid E] [SMulWithZero ℝ E] [TopologicalSpace E] [ContinuousSMul ℝ E]
   {s : Set X} (f : PartitionOfUnity ι X s)
 
 instance : FunLike (PartitionOfUnity ι X s) ι fun _ ↦ C(X, ℝ) where
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,11 +2,6 @@
 Copyright (c) 2021 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.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.Algebra.BigOperators.Finprod
 import Mathlib.SetTheory.Ordinal.Basic
@@ -15,6 +10,8 @@ import Mathlib.Topology.Paracompact
 import Mathlib.Topology.ShrinkingLemma
 import Mathlib.Topology.UrysohnsLemma
 
+#align_import topology.partition_of_unity from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
 /-!
 # Continuous partition of unity
 
fix: ∑' precedence (#5615)
  • Also remove most superfluous parentheses around big operators (, and variants).
  • roughly the used regex: ([^a-zA-Zα-ωΑ-Ω'𝓝ℳ₀𝕂ₛ)]) \(([∑∏][^()∑∏]*,[^()∑∏:]*)\) ([⊂⊆=<≤]) replaced by $1 $2 $3
Diff
@@ -103,8 +103,8 @@ structure PartitionOfUnity (ι X : Type _) [TopologicalSpace X] (s : Set X := un
   toFun : ι → C(X, ℝ)
   locallyFinite' : LocallyFinite fun i => support (toFun i)
   nonneg' : 0 ≤ toFun
-  sum_eq_one' : ∀ x ∈ s, (∑ᶠ i, toFun i x) = 1
-  sum_le_one' : ∀ x, (∑ᶠ i, toFun i x) ≤ 1
+  sum_eq_one' : ∀ x ∈ s, ∑ᶠ i, toFun i x = 1
+  sum_le_one' : ∀ x, ∑ᶠ i, toFun i x ≤ 1
 #align partition_of_unity PartitionOfUnity
 
 /-- A `BumpCovering ι X s` is an indexed family of functions `f i`, `i : ι`, such that
@@ -153,7 +153,7 @@ theorem nonneg (i : ι) (x : X) : 0 ≤ f i x :=
   f.nonneg' i x
 #align partition_of_unity.nonneg PartitionOfUnity.nonneg
 
-theorem sum_eq_one {x : X} (hx : x ∈ s) : (∑ᶠ i, f i x) = 1 :=
+theorem sum_eq_one {x : X} (hx : x ∈ s) : ∑ᶠ i, f i x = 1 :=
   f.sum_eq_one' x hx
 #align partition_of_unity.sum_eq_one PartitionOfUnity.sum_eq_one
 
@@ -165,7 +165,7 @@ theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x := by
   simpa only [fun i => (H i).antisymm (f.nonneg i x), finsum_zero] using zero_ne_one
 #align partition_of_unity.exists_pos PartitionOfUnity.exists_pos
 
-theorem sum_le_one (x : X) : (∑ᶠ i, f i x) ≤ 1 :=
+theorem sum_le_one (x : X) : ∑ᶠ i, f i x ≤ 1 :=
   f.sum_le_one' x
 #align partition_of_unity.sum_le_one PartitionOfUnity.sum_le_one
 
@@ -396,7 +396,7 @@ theorem toPOUFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
   exact flip (ht j) hj
 #align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPOUFun_eq_mul_prod
 
-theorem sum_toPOUFun_eq (x : X) : (∑ᶠ i, f.toPOUFun i x) = 1 - ∏ᶠ i, (1 - f i x) := by
+theorem sum_toPOUFun_eq (x : X) : ∑ᶠ i, f.toPOUFun i x = 1 - ∏ᶠ i, (1 - f i x) := by
   set s := (f.point_finite x).toFinset
   have hs : (s : Set ι) = { i | f i x ≠ 0 } := Finite.coe_toFinset _
   have A : (support fun i => toPOUFun f i x) ⊆ s := by
@@ -481,7 +481,7 @@ theorem support_toPartitionOfUnity_subset (i : ι) :
 #align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subset
 
 theorem sum_toPartitionOfUnity_eq (x : X) :
-    (∑ᶠ i, f.toPartitionOfUnity i x) = 1 - ∏ᶠ i, (1 - f i x) :=
+    ∑ᶠ i, f.toPartitionOfUnity i x = 1 - ∏ᶠ i, (1 - f i x) :=
   f.sum_toPOUFun_eq x
 #align bump_covering.sum_to_partition_of_unity_eq BumpCovering.sum_toPartitionOfUnity_eq
 
fix: precedence for finprod/finsum (#5524)
  • Replace notation3 lines with the latest versions in mathport.
  • Fix Topology.PartitionOfUnity.
  • Fix names in Topology.PartitionOfUnity (locally_finite' -> locallyFinite').
  • Use FunLike for PartitionOfUnity and BumpCovering
Diff
@@ -101,7 +101,7 @@ subordinate to `U`.
 -/
 structure PartitionOfUnity (ι X : Type _) [TopologicalSpace X] (s : Set X := univ) where
   toFun : ι → C(X, ℝ)
-  locally_finite' : LocallyFinite fun i => support (toFun i)
+  locallyFinite' : LocallyFinite fun i => support (toFun i)
   nonneg' : 0 ≤ toFun
   sum_eq_one' : ∀ x ∈ s, (∑ᶠ i, toFun i x) = 1
   sum_le_one' : ∀ x, (∑ᶠ i, toFun i x) ≤ 1
@@ -124,7 +124,7 @@ subordinate to `U`.
 -/
 structure BumpCovering (ι X : Type _) [TopologicalSpace X] (s : Set X := univ) where
   toFun : ι → C(X, ℝ)
-  locally_finite' : LocallyFinite fun i => support (toFun i)
+  locallyFinite' : LocallyFinite fun i => support (toFun i)
   nonneg' : 0 ≤ toFun
   le_one' : toFun ≤ 1
   eventuallyEq_one' : ∀ x ∈ s, ∃ i, toFun i =ᶠ[𝓝 x] 1
@@ -137,11 +137,12 @@ namespace PartitionOfUnity
 variable {E : Type _} [AddCommMonoid E] [SMulWithZero ℝ E] [TopologicalSpace E] [ContinuousSMul ℝ E]
   {s : Set X} (f : PartitionOfUnity ι X s)
 
-instance : CoeFun (PartitionOfUnity ι X s) fun _ => ι → C(X, ℝ) :=
-  ⟨toFun⟩
+instance : FunLike (PartitionOfUnity ι X s) ι fun _ ↦ C(X, ℝ) where
+  coe := toFun
+  coe_injective' := fun f g h ↦ by cases f; cases g; congr
 
 protected theorem locallyFinite : LocallyFinite fun i => support (f i) :=
-  f.locally_finite'
+  f.locallyFinite'
 #align partition_of_unity.locally_finite PartitionOfUnity.locallyFinite
 
 theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
@@ -228,11 +229,12 @@ namespace BumpCovering
 
 variable {s : Set X} (f : BumpCovering ι X s)
 
-instance : CoeFun (BumpCovering ι X s) fun _ => ι → C(X, ℝ) :=
-  ⟨toFun⟩
+instance : FunLike (BumpCovering ι X s) ι fun _ ↦ C(X, ℝ) where
+  coe := toFun
+  coe_injective' := fun f g h ↦ by cases f; cases g; congr
 
 protected theorem locallyFinite : LocallyFinite fun i => support (f i) :=
-  f.locally_finite'
+  f.locallyFinite'
 #align bump_covering.locally_finite BumpCovering.locallyFinite
 
 theorem locallyFinite_tsupport : LocallyFinite fun i => tsupport (f i) :=
@@ -255,7 +257,7 @@ theorem le_one (i : ι) (x : X) : f i x ≤ 1 :=
 example for `Inhabited` instance. -/
 protected def single (i : ι) (s : Set X) : BumpCovering ι X s where
   toFun := Pi.single i 1
-  locally_finite' x := by
+  locallyFinite' x := by
     refine' ⟨univ, univ_mem, (finite_singleton i).subset _⟩
     rintro j ⟨x, hx, -⟩
     contrapose! hx
@@ -373,33 +375,33 @@ words, `g i x = ∏ᶠ j < i, (1 - f j x) - ∏ᶠ j ≤ i, (1 - f j x)`, so
 of `1 - f j x` vanishes, and `∑ᶠ i, g i x = 1`.
 
 In order to avoid an assumption `LinearOrder ι`, we use `WellOrderingRel` instead of `(<)`. -/
-def toPouFun (i : ι) (x : X) : ℝ :=
-  f i x * ∏ᶠ (j) (_ : WellOrderingRel j i), 1 - f j x
-#align bump_covering.to_pou_fun BumpCovering.toPouFun
+def toPOUFun (i : ι) (x : X) : ℝ :=
+  f i x * ∏ᶠ (j) (_ : WellOrderingRel j i), (1 - f j x)
+#align bump_covering.to_pou_fun BumpCovering.toPOUFun
 
-theorem toPouFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPouFun i x = 0 := by
-  rw [toPouFun, h, MulZeroClass.zero_mul]
-#align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPouFun_zero_of_zero
+theorem toPOUFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPOUFun i x = 0 := by
+  rw [toPOUFun, h, MulZeroClass.zero_mul]
+#align bump_covering.to_pou_fun_zero_of_zero BumpCovering.toPOUFun_zero_of_zero
 
-theorem support_toPouFun_subset (i : ι) : support (f.toPouFun i) ⊆ support (f i) :=
-  fun _ => mt <| f.toPouFun_zero_of_zero
-#align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPouFun_subset
+theorem support_toPOUFun_subset (i : ι) : support (f.toPOUFun i) ⊆ support (f i) :=
+  fun _ => mt <| f.toPOUFun_zero_of_zero
+#align bump_covering.support_to_pou_fun_subset BumpCovering.support_toPOUFun_subset
 
-theorem toPouFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
+theorem toPOUFun_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
-    f.toPouFun i x = f i x * ∏ j in t.filter fun j => WellOrderingRel j i, (1 - f j x) := by
+    f.toPOUFun i x = f i x * ∏ j in t.filter fun j => WellOrderingRel j i, (1 - f j x) := by
   refine' congr_arg _ (finprod_cond_eq_prod_of_cond_iff _ fun {j} hj => _)
   rw [Ne.def, sub_eq_self] at hj
   rw [Finset.mem_filter, Iff.comm, and_iff_right_iff_imp]
   exact flip (ht j) hj
-#align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPouFun_eq_mul_prod
+#align bump_covering.to_pou_fun_eq_mul_prod BumpCovering.toPOUFun_eq_mul_prod
 
-theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 - f i x := by
+theorem sum_toPOUFun_eq (x : X) : (∑ᶠ i, f.toPOUFun i x) = 1 - ∏ᶠ i, (1 - f i x) := by
   set s := (f.point_finite x).toFinset
   have hs : (s : Set ι) = { i | f i x ≠ 0 } := Finite.coe_toFinset _
-  have A : (support fun i => toPouFun f i x) ⊆ s := by
+  have A : (support fun i => toPOUFun f i x) ⊆ s := by
     rw [hs]
-    exact fun i hi => f.support_toPouFun_subset i hi
+    exact fun i hi => f.support_toPOUFun_subset i hi
   have B : (mulSupport fun i => 1 - f i x) ⊆ s := by
     rw [hs, mulSupport_one_sub]
     exact fun i => id
@@ -407,27 +409,27 @@ theorem sum_toPouFun_eq (x : X) : (∑ᶠ i, f.toPouFun i x) = 1 - ∏ᶠ i, 1 -
   rw [finsum_eq_sum_of_support_subset _ A, finprod_eq_prod_of_mulSupport_subset _ B,
     Finset.prod_one_sub_ordered, sub_sub_cancel]
   refine' Finset.sum_congr rfl fun i _ => _
-  convert f.toPouFun_eq_mul_prod _ _ _ fun j _ hj => _
+  convert f.toPOUFun_eq_mul_prod _ _ _ fun j _ hj => _
   rwa [Finite.mem_toFinset]
-#align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPouFun_eq
+#align bump_covering.sum_to_pou_fun_eq BumpCovering.sum_toPOUFun_eq
 
-theorem exists_finset_toPouFun_eventuallyEq (i : ι) (x : X) : ∃ t : Finset ι,
-    f.toPouFun i =ᶠ[𝓝 x] f i * ∏ j in t.filter fun j => WellOrderingRel j i, (1 - f j) := by
+theorem exists_finset_toPOUFun_eventuallyEq (i : ι) (x : X) : ∃ t : Finset ι,
+    f.toPOUFun i =ᶠ[𝓝 x] f i * ∏ j in t.filter fun j => WellOrderingRel j i, (1 - f j) := by
   rcases f.locallyFinite x with ⟨U, hU, hf⟩
   use hf.toFinset
-  filter_upwards [hU]with y hyU
+  filter_upwards [hU] with y hyU
   simp only [ContinuousMap.coe_prod, Pi.mul_apply, Finset.prod_apply]
-  apply toPouFun_eq_mul_prod
+  apply toPOUFun_eq_mul_prod
   intro j _ hj
   exact hf.mem_toFinset.2 ⟨y, ⟨hj, hyU⟩⟩
-#align bump_covering.exists_finset_to_pou_fun_eventually_eq BumpCovering.exists_finset_toPouFun_eventuallyEq
+#align bump_covering.exists_finset_to_pou_fun_eventually_eq BumpCovering.exists_finset_toPOUFun_eventuallyEq
 
-theorem continuous_toPouFun (i : ι) : Continuous (f.toPouFun i) := by
+theorem continuous_toPOUFun (i : ι) : Continuous (f.toPOUFun i) := by
   refine' (f i).continuous.mul <|
     continuous_finprod_cond (fun j _ => continuous_const.sub (f j).continuous) _
   simp only [mulSupport_one_sub]
   exact f.locallyFinite
-#align bump_covering.continuous_to_pou_fun BumpCovering.continuous_toPouFun
+#align bump_covering.continuous_to_pou_fun BumpCovering.continuous_toPOUFun
 
 /-- The partition of unity defined by a `BumpCovering`.
 
@@ -438,49 +440,49 @@ of `1 - f j x` vanishes, and `∑ᶠ i, g i x = 1`.
 
 In order to avoid an assumption `LinearOrder ι`, we use `WellOrderingRel` instead of `(<)`. -/
 def toPartitionOfUnity : PartitionOfUnity ι X s where
-  toFun i := ⟨f.toPouFun i, f.continuous_toPouFun i⟩
-  locally_finite' := f.locallyFinite.subset f.support_toPouFun_subset
+  toFun i := ⟨f.toPOUFun i, f.continuous_toPOUFun i⟩
+  locallyFinite' := f.locallyFinite.subset f.support_toPOUFun_subset
   nonneg' i x :=
     mul_nonneg (f.nonneg i x) (finprod_cond_nonneg fun j hj => sub_nonneg.2 <| f.le_one j x)
   sum_eq_one' x hx := by
-    simp only [ContinuousMap.coe_mk, sum_toPouFun_eq, sub_eq_self]
+    simp only [ContinuousMap.coe_mk, sum_toPOUFun_eq, sub_eq_self]
     apply finprod_eq_zero (fun i => 1 - f i x) (f.ind x hx)
     · simp only [f.ind_apply x hx, sub_self]
     · rw [mulSupport_one_sub]
       exact f.point_finite x
   sum_le_one' x := by
-    simp only [ContinuousMap.coe_mk, sum_toPouFun_eq, sub_le_self_iff]
+    simp only [ContinuousMap.coe_mk, sum_toPOUFun_eq, sub_le_self_iff]
     exact finprod_nonneg fun i => sub_nonneg.2 <| f.le_one i x
 #align bump_covering.to_partition_of_unity BumpCovering.toPartitionOfUnity
 
 theorem toPartitionOfUnity_apply (i : ι) (x : X) :
-    f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (_ : WellOrderingRel j i), 1 - f j x := rfl
+    f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (_ : WellOrderingRel j i), (1 - f j x) := rfl
 #align bump_covering.to_partition_of_unity_apply BumpCovering.toPartitionOfUnity_apply
 
 theorem toPartitionOfUnity_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
     (ht : ∀ j, WellOrderingRel j i → f j x ≠ 0 → j ∈ t) :
     f.toPartitionOfUnity i x = f i x * ∏ j in t.filter fun j => WellOrderingRel j i, (1 - f j x) :=
-  f.toPouFun_eq_mul_prod i x t ht
+  f.toPOUFun_eq_mul_prod i x t ht
 #align bump_covering.to_partition_of_unity_eq_mul_prod BumpCovering.toPartitionOfUnity_eq_mul_prod
 
 theorem exists_finset_toPartitionOfUnity_eventuallyEq (i : ι) (x : X) : ∃ t : Finset ι,
     f.toPartitionOfUnity i =ᶠ[𝓝 x] f i * ∏ j in t.filter fun j => WellOrderingRel j i, (1 - f j) :=
-  f.exists_finset_toPouFun_eventuallyEq i x
+  f.exists_finset_toPOUFun_eventuallyEq i x
 #align bump_covering.exists_finset_to_partition_of_unity_eventually_eq BumpCovering.exists_finset_toPartitionOfUnity_eventuallyEq
 
 theorem toPartitionOfUnity_zero_of_zero {i : ι} {x : X} (h : f i x = 0) :
     f.toPartitionOfUnity i x = 0 :=
-  f.toPouFun_zero_of_zero h
+  f.toPOUFun_zero_of_zero h
 #align bump_covering.to_partition_of_unity_zero_of_zero BumpCovering.toPartitionOfUnity_zero_of_zero
 
 theorem support_toPartitionOfUnity_subset (i : ι) :
     support (f.toPartitionOfUnity i) ⊆ support (f i) :=
-  f.support_toPouFun_subset i
+  f.support_toPOUFun_subset i
 #align bump_covering.support_to_partition_of_unity_subset BumpCovering.support_toPartitionOfUnity_subset
 
 theorem sum_toPartitionOfUnity_eq (x : X) :
-    (∑ᶠ i, f.toPartitionOfUnity i x) = 1 - ∏ᶠ i, 1 - f i x :=
-  f.sum_toPouFun_eq x
+    (∑ᶠ i, f.toPartitionOfUnity i x) = 1 - ∏ᶠ i, (1 - f i x) :=
+  f.sum_toPOUFun_eq x
 #align bump_covering.sum_to_partition_of_unity_eq BumpCovering.sum_toPartitionOfUnity_eq
 
 theorem IsSubordinate.toPartitionOfUnity {f : BumpCovering ι X s} {U : ι → Set X}
chore(Topology/{Paracompact + PartitionOfUnity + Algebra/Order/Compact}): restore a more faithful mathported proof, using the "newer" push_neg (#5132)

These are just three cases where a mathported proof had to be changed, due to unwanted behaviour with push_neg/contradiction. Since #5082 is supposed to fix some issues with these tactics, some of these workarounds can be removed.

Note: this was not in any way systematic, I simply grepped the line after a contra, then grepped for a not and then selected 3 likely candidates. There are potentially more situations like these.

Diff
@@ -161,7 +161,6 @@ that `0 < f i x`. -/
 theorem exists_pos {x : X} (hx : x ∈ s) : ∃ i, 0 < f i x := by
   have H := f.sum_eq_one hx
   contrapose! H
-  simp_rw [not_exists, not_lt] at H
   simpa only [fun i => (H i).antisymm (f.nonneg i x), finsum_zero] using zero_ne_one
 #align partition_of_unity.exists_pos PartitionOfUnity.exists_pos
 
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -375,7 +375,7 @@ of `1 - f j x` vanishes, and `∑ᶠ i, g i x = 1`.
 
 In order to avoid an assumption `LinearOrder ι`, we use `WellOrderingRel` instead of `(<)`. -/
 def toPouFun (i : ι) (x : X) : ℝ :=
-  f i x * ∏ᶠ (j) (_hj : WellOrderingRel j i), 1 - f j x
+  f i x * ∏ᶠ (j) (_ : WellOrderingRel j i), 1 - f j x
 #align bump_covering.to_pou_fun BumpCovering.toPouFun
 
 theorem toPouFun_zero_of_zero {i : ι} {x : X} (h : f i x = 0) : f.toPouFun i x = 0 := by
@@ -455,7 +455,7 @@ def toPartitionOfUnity : PartitionOfUnity ι X s where
 #align bump_covering.to_partition_of_unity BumpCovering.toPartitionOfUnity
 
 theorem toPartitionOfUnity_apply (i : ι) (x : X) :
-    f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (_hj : WellOrderingRel j i), 1 - f j x := rfl
+    f.toPartitionOfUnity i x = f i x * ∏ᶠ (j) (_ : WellOrderingRel j i), 1 - f j x := rfl
 #align bump_covering.to_partition_of_unity_apply BumpCovering.toPartitionOfUnity_apply
 
 theorem toPartitionOfUnity_eq_mul_prod (i : ι) (x : X) (t : Finset ι)
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -296,10 +296,10 @@ theorem exists_isSubordinate_of_locallyFinite_of_prop [NormalSpace X] (p : (X 
       ∃ f : C(X, ℝ), p f ∧ EqOn f 0 s ∧ EqOn f 1 t ∧ ∀ x, f x ∈ Icc (0 : ℝ) 1)
     (hs : IsClosed s) (U : ι → Set X) (ho : ∀ i, IsOpen (U i)) (hf : LocallyFinite U)
     (hU : s ⊆ ⋃ i, U i) : ∃ f : BumpCovering ι X s, (∀ i, p (f i)) ∧ f.IsSubordinate U := by
-  rcases exists_subset_unionᵢ_closure_subset hs ho (fun x _ => hf.point_finite x) hU with
+  rcases exists_subset_iUnion_closure_subset hs ho (fun x _ => hf.point_finite x) hU with
     ⟨V, hsV, hVo, hVU⟩
   have hVU' : ∀ i, V i ⊆ U i := fun i => Subset.trans subset_closure (hVU i)
-  rcases exists_subset_unionᵢ_closure_subset hs hVo (fun x _ => (hf.subset hVU').point_finite x)
+  rcases exists_subset_iUnion_closure_subset hs hVo (fun x _ => (hf.subset hVU').point_finite x)
       hsV with
     ⟨W, hsW, hWo, hWV⟩
   choose f hfp hf0 hf1 hf01 using fun i =>
@@ -309,7 +309,7 @@ theorem exists_isSubordinate_of_locallyFinite_of_prop [NormalSpace X] (p : (X 
   refine' ⟨⟨f, hf.subset fun i => Subset.trans (hsupp i) (hVU' i), fun i x => (hf01 i x).1,
       fun i x => (hf01 i x).2, fun x hx => _⟩,
     hfp, fun i => Subset.trans (closure_mono (hsupp i)) (hVU i)⟩
-  rcases mem_unionᵢ.1 (hsW hx) with ⟨i, hi⟩
+  rcases mem_iUnion.1 (hsW hx) with ⟨i, hi⟩
   exact ⟨i, ((hf1 i).mono subset_closure).eventuallyEq_of_mem ((hWo i).mem_nhds hi)⟩
 #align bump_covering.exists_is_subordinate_of_locally_finite_of_prop BumpCovering.exists_isSubordinate_of_locallyFinite_of_prop
 
feat: port Topology.PartitionOfUnity (#3863)

Dependencies 10 + 653

654 files ported (98.5%)
283638 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