analysis.convex.partition_of_unityMathlib.Analysis.Convex.PartitionOfUnity

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
 -/
-import Mathbin.Topology.PartitionOfUnity
-import Mathbin.Analysis.Convex.Combination
+import Topology.PartitionOfUnity
+import Analysis.Convex.Combination
 
 #align_import analysis.convex.partition_of_unity from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module analysis.convex.partition_of_unity
-! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.PartitionOfUnity
 import Mathbin.Analysis.Convex.Combination
 
+#align_import analysis.convex.partition_of_unity from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
+
 /-!
 # Partition of unity and convex sets
 
Diff
@@ -39,15 +39,18 @@ open scoped BigOperators Topology
 
 variable {ι X E : Type _} [TopologicalSpace X] [AddCommGroup E] [Module ℝ E]
 
+#print PartitionOfUnity.finsum_smul_mem_convex /-
 theorem PartitionOfUnity.finsum_smul_mem_convex {s : Set X} (f : PartitionOfUnity ι X s)
     {g : ι → X → E} {t : Set E} {x : X} (hx : x ∈ s) (hg : ∀ i, f i x ≠ 0 → g i x ∈ t)
     (ht : Convex ℝ t) : ∑ᶠ i, f i x • g i x ∈ t :=
   ht.finsum_mem (fun i => f.NonNeg _ _) (f.sum_eq_one hx) hg
 #align partition_of_unity.finsum_smul_mem_convex PartitionOfUnity.finsum_smul_mem_convex
+-/
 
 variable [NormalSpace X] [ParacompactSpace X] [TopologicalSpace E] [ContinuousAdd E]
   [ContinuousSMul ℝ E] {t : X → Set E}
 
+#print exists_continuous_forall_mem_convex_of_local /-
 /-- Let `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be
 a topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for
 each point `x : X`, there exists a neighborhood `U ∈ 𝓝 X` and a function `g : X → E` that is
@@ -68,7 +71,9 @@ theorem exists_continuous_forall_mem_convex_of_local (ht : ∀ x, Convex ℝ (t
       fun x => f.finsum_smul_mem_convex (mem_univ x) (fun i hi => hgt _ _ _) (ht _)⟩
   exact interior_subset (hf _ <| subset_closure hi)
 #align exists_continuous_forall_mem_convex_of_local exists_continuous_forall_mem_convex_of_local
+-/
 
+#print exists_continuous_forall_mem_convex_of_local_const /-
 /-- Let `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be
 a topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for
 each point `x : X`, there exists a vector `c : E` that belongs to `t y` for all `y` in a
@@ -80,4 +85,5 @@ theorem exists_continuous_forall_mem_convex_of_local_const (ht : ∀ x, Convex 
     let ⟨c, hc⟩ := H x
     ⟨_, hc, fun _ => c, continuousOn_const, fun y => id⟩
 #align exists_continuous_forall_mem_convex_of_local_const exists_continuous_forall_mem_convex_of_local_const
+-/
 
Diff
@@ -41,7 +41,7 @@ variable {ι X E : Type _} [TopologicalSpace X] [AddCommGroup E] [Module ℝ E]
 
 theorem PartitionOfUnity.finsum_smul_mem_convex {s : Set X} (f : PartitionOfUnity ι X s)
     {g : ι → X → E} {t : Set E} {x : X} (hx : x ∈ s) (hg : ∀ i, f i x ≠ 0 → g i x ∈ t)
-    (ht : Convex ℝ t) : (∑ᶠ i, f i x • g i x) ∈ t :=
+    (ht : Convex ℝ t) : ∑ᶠ i, f i x • g i x ∈ t :=
   ht.finsum_mem (fun i => f.NonNeg _ _) (f.sum_eq_one hx) hg
 #align partition_of_unity.finsum_smul_mem_convex PartitionOfUnity.finsum_smul_mem_convex
 
Diff
@@ -35,7 +35,7 @@ partition of unity
 
 open Set Function
 
-open BigOperators Topology
+open scoped BigOperators Topology
 
 variable {ι X E : Type _} [TopologicalSpace X] [AddCommGroup E] [Module ℝ E]
 
Diff
@@ -39,9 +39,6 @@ open BigOperators Topology
 
 variable {ι X E : Type _} [TopologicalSpace X] [AddCommGroup E] [Module ℝ E]
 
-/- warning: partition_of_unity.finsum_smul_mem_convex -> PartitionOfUnity.finsum_smul_mem_convex is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align partition_of_unity.finsum_smul_mem_convex PartitionOfUnity.finsum_smul_mem_convexₓ'. -/
 theorem PartitionOfUnity.finsum_smul_mem_convex {s : Set X} (f : PartitionOfUnity ι X s)
     {g : ι → X → E} {t : Set E} {x : X} (hx : x ∈ s) (hg : ∀ i, f i x ≠ 0 → g i x ∈ t)
     (ht : Convex ℝ t) : (∑ᶠ i, f i x • g i x) ∈ t :=
@@ -51,9 +48,6 @@ theorem PartitionOfUnity.finsum_smul_mem_convex {s : Set X} (f : PartitionOfUnit
 variable [NormalSpace X] [ParacompactSpace X] [TopologicalSpace E] [ContinuousAdd E]
   [ContinuousSMul ℝ E] {t : X → Set E}
 
-/- warning: exists_continuous_forall_mem_convex_of_local -> exists_continuous_forall_mem_convex_of_local is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align exists_continuous_forall_mem_convex_of_local exists_continuous_forall_mem_convex_of_localₓ'. -/
 /-- Let `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be
 a topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for
 each point `x : X`, there exists a neighborhood `U ∈ 𝓝 X` and a function `g : X → E` that is
@@ -75,9 +69,6 @@ theorem exists_continuous_forall_mem_convex_of_local (ht : ∀ x, Convex ℝ (t
   exact interior_subset (hf _ <| subset_closure hi)
 #align exists_continuous_forall_mem_convex_of_local exists_continuous_forall_mem_convex_of_local
 
-/- warning: exists_continuous_forall_mem_convex_of_local_const -> exists_continuous_forall_mem_convex_of_local_const is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align exists_continuous_forall_mem_convex_of_local_const exists_continuous_forall_mem_convex_of_local_constₓ'. -/
 /-- Let `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be
 a topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for
 each point `x : X`, there exists a vector `c : E` that belongs to `t y` for all `y` in a
Diff
@@ -40,10 +40,7 @@ open BigOperators Topology
 variable {ι X E : Type _} [TopologicalSpace X] [AddCommGroup E] [Module ℝ E]
 
 /- warning: partition_of_unity.finsum_smul_mem_convex -> PartitionOfUnity.finsum_smul_mem_convex is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {X : Type.{u2}} {E : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : Module.{0, u3} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {g : ι -> X -> E} {t : Set.{u3} E} {x : X}, (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s) -> (forall (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)} (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 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Membership.Mem.{u3, u3} E (Set.{u3} E) (Set.hasMem.{u3} E) (g i x) t)) -> (Convex.{0, u3} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u3} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{0, u3} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_3)))) t) -> (Membership.Mem.{u3, u3} E (Set.{u3} E) (Set.hasMem.{u3} E) (finsum.{u3, succ u1} E ι (AddCommGroup.toAddCommMonoid.{u3} 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 (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u3} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{0, u3} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{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))) t)
-but is expected to have type
-  forall {ι : Type.{u2}} {X : Type.{u3}} {E : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} X] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u3} X} (f : PartitionOfUnity.{u2, u3} ι X _inst_1 s) {g : ι -> X -> E} {t : Set.{u1} E} {x : X}, (Membership.mem.{u3, u3} X (Set.{u3} X) (Set.instMembershipSet.{u3} X) x s) -> (forall (i : ι), (Ne.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (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) (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} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (g i x) t)) -> (Convex.{0, u1} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) t) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (finsum.{u1, succ u2} E ι (AddCommGroup.toAddCommMonoid.{u1} 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 (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.semiring (AddCommGroup.toAddCommMonoid.{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))) t)
+<too large>
 Case conversion may be inaccurate. Consider using '#align partition_of_unity.finsum_smul_mem_convex PartitionOfUnity.finsum_smul_mem_convexₓ'. -/
 theorem PartitionOfUnity.finsum_smul_mem_convex {s : Set X} (f : PartitionOfUnity ι X s)
     {g : ι → X → E} {t : Set E} {x : X} (hx : x ∈ s) (hg : ∀ i, f i x ≠ 0 → g i x ∈ t)
@@ -55,10 +52,7 @@ variable [NormalSpace X] [ParacompactSpace X] [TopologicalSpace E] [ContinuousAd
   [ContinuousSMul ℝ E] {t : X → Set E}
 
 /- warning: exists_continuous_forall_mem_convex_of_local -> exists_continuous_forall_mem_convex_of_local is a dubious translation:
-lean 3 declaration is
-  forall {X : Type.{u1}} {E : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : NormalSpace.{u1} X _inst_1] [_inst_5 : ParacompactSpace.{u1} X _inst_1] [_inst_6 : TopologicalSpace.{u2} E] [_inst_7 : ContinuousAdd.{u2} E _inst_6 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))] [_inst_8 : ContinuousSMul.{0, u2} Real E (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_6] {t : X -> (Set.{u2} E)}, (forall (x : X), Convex.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (t x)) -> (forall (x : X), Exists.{succ u1} (Set.{u1} X) (fun (U : Set.{u1} X) => Exists.{0} (Membership.Mem.{u1, u1} (Set.{u1} X) (Filter.{u1} X) (Filter.hasMem.{u1} X) U (nhds.{u1} X _inst_1 x)) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} X) (Filter.{u1} X) (Filter.hasMem.{u1} X) U (nhds.{u1} X _inst_1 x)) => Exists.{max (succ u1) (succ u2)} (X -> E) (fun (g : X -> E) => And (ContinuousOn.{u1, u2} X E _inst_1 _inst_6 g U) (forall (y : X), (Membership.Mem.{u1, u1} X (Set.{u1} X) (Set.hasMem.{u1} X) y U) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (g y) (t y))))))) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (g : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => forall (x : X), Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (_x : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => X -> E) (ContinuousMap.hasCoeToFun.{u1, u2} X E _inst_1 _inst_6) g x) (t x)))
-but is expected to have type
-  forall {X : Type.{u1}} {E : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : NormalSpace.{u1} X _inst_1] [_inst_5 : ParacompactSpace.{u1} X _inst_1] [_inst_6 : TopologicalSpace.{u2} E] [_inst_7 : ContinuousAdd.{u2} E _inst_6 (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))] [_inst_8 : ContinuousSMul.{0, u2} Real E (SMulZeroClass.toSMul.{0, u2} Real E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u2} Real E Real.instZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_6] {t : X -> (Set.{u2} E)}, (forall (x : X), Convex.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{0, u2} Real E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u2} Real E Real.instZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (t x)) -> (forall (x : X), Exists.{succ u1} (Set.{u1} X) (fun (U : Set.{u1} X) => And (Membership.mem.{u1, u1} (Set.{u1} X) (Filter.{u1} X) (instMembershipSetFilter.{u1} X) U (nhds.{u1} X _inst_1 x)) (Exists.{max (succ u1) (succ u2)} (X -> E) (fun (g : X -> E) => And (ContinuousOn.{u1, u2} X E _inst_1 _inst_6 g U) (forall (y : X), (Membership.mem.{u1, u1} X (Set.{u1} X) (Set.instMembershipSet.{u1} X) y U) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (g y) (t y))))))) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (g : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => forall (x : X), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => E) x) (Set.{u2} E) (Set.instMembershipSet.{u2} E) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => E) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) X E _inst_1 _inst_6 (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} X E _inst_1 _inst_6)) g x) (t x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align exists_continuous_forall_mem_convex_of_local exists_continuous_forall_mem_convex_of_localₓ'. -/
 /-- Let `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be
 a topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for
@@ -82,10 +76,7 @@ theorem exists_continuous_forall_mem_convex_of_local (ht : ∀ x, Convex ℝ (t
 #align exists_continuous_forall_mem_convex_of_local exists_continuous_forall_mem_convex_of_local
 
 /- warning: exists_continuous_forall_mem_convex_of_local_const -> exists_continuous_forall_mem_convex_of_local_const is a dubious translation:
-lean 3 declaration is
-  forall {X : Type.{u1}} {E : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : NormalSpace.{u1} X _inst_1] [_inst_5 : ParacompactSpace.{u1} X _inst_1] [_inst_6 : TopologicalSpace.{u2} E] [_inst_7 : ContinuousAdd.{u2} E _inst_6 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))] [_inst_8 : ContinuousSMul.{0, u2} Real E (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_6] {t : X -> (Set.{u2} E)}, (forall (x : X), Convex.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (t x)) -> (forall (x : X), Exists.{succ u2} E (fun (c : E) => Filter.Eventually.{u1} X (fun (y : X) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) c (t y)) (nhds.{u1} X _inst_1 x))) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (g : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => forall (x : X), Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (_x : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => X -> E) (ContinuousMap.hasCoeToFun.{u1, u2} X E _inst_1 _inst_6) g x) (t x)))
-but is expected to have type
-  forall {X : Type.{u1}} {E : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : NormalSpace.{u1} X _inst_1] [_inst_5 : ParacompactSpace.{u1} X _inst_1] [_inst_6 : TopologicalSpace.{u2} E] [_inst_7 : ContinuousAdd.{u2} E _inst_6 (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))] [_inst_8 : ContinuousSMul.{0, u2} Real E (SMulZeroClass.toSMul.{0, u2} Real E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u2} Real E Real.instZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_6] {t : X -> (Set.{u2} E)}, (forall (x : X), Convex.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{0, u2} Real E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u2} Real E Real.instZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (t x)) -> (forall (x : X), Exists.{succ u2} E (fun (c : E) => Filter.Eventually.{u1} X (fun (y : X) => Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) c (t y)) (nhds.{u1} X _inst_1 x))) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (g : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => forall (x : X), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => E) x) (Set.{u2} E) (Set.instMembershipSet.{u2} E) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => E) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) X E _inst_1 _inst_6 (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} X E _inst_1 _inst_6)) g x) (t x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align exists_continuous_forall_mem_convex_of_local_const exists_continuous_forall_mem_convex_of_local_constₓ'. -/
 /-- Let `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be
 a topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for
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 analysis.convex.partition_of_unity
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Analysis.Convex.Combination
 /-!
 # Partition of unity and convex sets
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we prove the following lemma, see `exists_continuous_forall_mem_convex_of_local`. Let
 `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be a
 topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for each
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 analysis.convex.partition_of_unity
-! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
+! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,9 +14,6 @@ import Mathbin.Analysis.Convex.Combination
 /-!
 # Partition of unity and convex sets
 
-> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
-> Any changes to this file require a corresponding PR to mathlib4.
-
 In this file we prove the following lemma, see `exists_continuous_forall_mem_convex_of_local`. Let
 `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be a
 topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for each
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 analysis.convex.partition_of_unity
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Analysis.Convex.Combination
 /-!
 # Partition of unity and convex sets
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we prove the following lemma, see `exists_continuous_forall_mem_convex_of_local`. Let
 `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be a
 topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for each
Diff
@@ -36,6 +36,12 @@ open BigOperators Topology
 
 variable {ι X E : Type _} [TopologicalSpace X] [AddCommGroup E] [Module ℝ E]
 
+/- warning: partition_of_unity.finsum_smul_mem_convex -> PartitionOfUnity.finsum_smul_mem_convex is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {X : Type.{u2}} {E : Type.{u3}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : Module.{0, u3} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] {s : Set.{u2} X} (f : PartitionOfUnity.{u1, u2} ι X _inst_1 s) {g : ι -> X -> E} {t : Set.{u3} E} {x : X}, (Membership.Mem.{u2, u2} X (Set.{u2} X) (Set.hasMem.{u2} X) x s) -> (forall (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)} (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 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero)))) -> (Membership.Mem.{u3, u3} E (Set.{u3} E) (Set.hasMem.{u3} E) (g i x) t)) -> (Convex.{0, u3} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toHasSmul.{0, u3} Real E (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u3} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{0, u3} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_3)))) t) -> (Membership.Mem.{u3, u3} E (Set.{u3} E) (Set.hasMem.{u3} E) (finsum.{u3, succ u1} E ι (AddCommGroup.toAddCommMonoid.{u3} 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 (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u3} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u3} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{0, u3} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{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))) t)
+but is expected to have type
+  forall {ι : Type.{u2}} {X : Type.{u3}} {E : Type.{u1}} [_inst_1 : TopologicalSpace.{u3} X] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u3} X} (f : PartitionOfUnity.{u2, u3} ι X _inst_1 s) {g : ι -> X -> E} {t : Set.{u1} E} {x : X}, (Membership.mem.{u3, u3} X (Set.{u3} X) (Set.instMembershipSet.{u3} X) x s) -> (forall (i : ι), (Ne.{1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) (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) (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} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (g i x) t)) -> (Convex.{0, u1} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (SMulZeroClass.toSMul.{0, u1} Real E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) t) -> (Membership.mem.{u1, u1} E (Set.{u1} E) (Set.instMembershipSet.{u1} E) (finsum.{u1, succ u2} E ι (AddCommGroup.toAddCommMonoid.{u1} 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 (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E _inst_2))))) (Module.toMulActionWithZero.{0, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => Real) x) E Real.semiring (AddCommGroup.toAddCommMonoid.{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))) t)
+Case conversion may be inaccurate. Consider using '#align partition_of_unity.finsum_smul_mem_convex PartitionOfUnity.finsum_smul_mem_convexₓ'. -/
 theorem PartitionOfUnity.finsum_smul_mem_convex {s : Set X} (f : PartitionOfUnity ι X s)
     {g : ι → X → E} {t : Set E} {x : X} (hx : x ∈ s) (hg : ∀ i, f i x ≠ 0 → g i x ∈ t)
     (ht : Convex ℝ t) : (∑ᶠ i, f i x • g i x) ∈ t :=
@@ -45,6 +51,12 @@ theorem PartitionOfUnity.finsum_smul_mem_convex {s : Set X} (f : PartitionOfUnit
 variable [NormalSpace X] [ParacompactSpace X] [TopologicalSpace E] [ContinuousAdd E]
   [ContinuousSMul ℝ E] {t : X → Set E}
 
+/- warning: exists_continuous_forall_mem_convex_of_local -> exists_continuous_forall_mem_convex_of_local is a dubious translation:
+lean 3 declaration is
+  forall {X : Type.{u1}} {E : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : NormalSpace.{u1} X _inst_1] [_inst_5 : ParacompactSpace.{u1} X _inst_1] [_inst_6 : TopologicalSpace.{u2} E] [_inst_7 : ContinuousAdd.{u2} E _inst_6 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))] [_inst_8 : ContinuousSMul.{0, u2} Real E (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_6] {t : X -> (Set.{u2} E)}, (forall (x : X), Convex.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (t x)) -> (forall (x : X), Exists.{succ u1} (Set.{u1} X) (fun (U : Set.{u1} X) => Exists.{0} (Membership.Mem.{u1, u1} (Set.{u1} X) (Filter.{u1} X) (Filter.hasMem.{u1} X) U (nhds.{u1} X _inst_1 x)) (fun (H : Membership.Mem.{u1, u1} (Set.{u1} X) (Filter.{u1} X) (Filter.hasMem.{u1} X) U (nhds.{u1} X _inst_1 x)) => Exists.{max (succ u1) (succ u2)} (X -> E) (fun (g : X -> E) => And (ContinuousOn.{u1, u2} X E _inst_1 _inst_6 g U) (forall (y : X), (Membership.Mem.{u1, u1} X (Set.{u1} X) (Set.hasMem.{u1} X) y U) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (g y) (t y))))))) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (g : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => forall (x : X), Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (_x : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => X -> E) (ContinuousMap.hasCoeToFun.{u1, u2} X E _inst_1 _inst_6) g x) (t x)))
+but is expected to have type
+  forall {X : Type.{u1}} {E : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : NormalSpace.{u1} X _inst_1] [_inst_5 : ParacompactSpace.{u1} X _inst_1] [_inst_6 : TopologicalSpace.{u2} E] [_inst_7 : ContinuousAdd.{u2} E _inst_6 (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))] [_inst_8 : ContinuousSMul.{0, u2} Real E (SMulZeroClass.toSMul.{0, u2} Real E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u2} Real E Real.instZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_6] {t : X -> (Set.{u2} E)}, (forall (x : X), Convex.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{0, u2} Real E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u2} Real E Real.instZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (t x)) -> (forall (x : X), Exists.{succ u1} (Set.{u1} X) (fun (U : Set.{u1} X) => And (Membership.mem.{u1, u1} (Set.{u1} X) (Filter.{u1} X) (instMembershipSetFilter.{u1} X) U (nhds.{u1} X _inst_1 x)) (Exists.{max (succ u1) (succ u2)} (X -> E) (fun (g : X -> E) => And (ContinuousOn.{u1, u2} X E _inst_1 _inst_6 g U) (forall (y : X), (Membership.mem.{u1, u1} X (Set.{u1} X) (Set.instMembershipSet.{u1} X) y U) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (g y) (t y))))))) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (g : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => forall (x : X), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => E) x) (Set.{u2} E) (Set.instMembershipSet.{u2} E) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => E) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) X E _inst_1 _inst_6 (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} X E _inst_1 _inst_6)) g x) (t x)))
+Case conversion may be inaccurate. Consider using '#align exists_continuous_forall_mem_convex_of_local exists_continuous_forall_mem_convex_of_localₓ'. -/
 /-- Let `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be
 a topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for
 each point `x : X`, there exists a neighborhood `U ∈ 𝓝 X` and a function `g : X → E` that is
@@ -66,6 +78,12 @@ theorem exists_continuous_forall_mem_convex_of_local (ht : ∀ x, Convex ℝ (t
   exact interior_subset (hf _ <| subset_closure hi)
 #align exists_continuous_forall_mem_convex_of_local exists_continuous_forall_mem_convex_of_local
 
+/- warning: exists_continuous_forall_mem_convex_of_local_const -> exists_continuous_forall_mem_convex_of_local_const is a dubious translation:
+lean 3 declaration is
+  forall {X : Type.{u1}} {E : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : NormalSpace.{u1} X _inst_1] [_inst_5 : ParacompactSpace.{u1} X _inst_1] [_inst_6 : TopologicalSpace.{u2} E] [_inst_7 : ContinuousAdd.{u2} E _inst_6 (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))] [_inst_8 : ContinuousSMul.{0, u2} Real E (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_6] {t : X -> (Set.{u2} E)}, (forall (x : X), Convex.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toHasSmul.{0, u2} Real E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u2} Real E (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (t x)) -> (forall (x : X), Exists.{succ u2} E (fun (c : E) => Filter.Eventually.{u1} X (fun (y : X) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) c (t y)) (nhds.{u1} X _inst_1 x))) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (g : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => forall (x : X), Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (_x : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => X -> E) (ContinuousMap.hasCoeToFun.{u1, u2} X E _inst_1 _inst_6) g x) (t x)))
+but is expected to have type
+  forall {X : Type.{u1}} {E : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : NormalSpace.{u1} X _inst_1] [_inst_5 : ParacompactSpace.{u1} X _inst_1] [_inst_6 : TopologicalSpace.{u2} E] [_inst_7 : ContinuousAdd.{u2} E _inst_6 (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (SubNegMonoid.toAddMonoid.{u2} E (AddGroup.toSubNegMonoid.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)))))] [_inst_8 : ContinuousSMul.{0, u2} Real E (SMulZeroClass.toSMul.{0, u2} Real E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u2} Real E Real.instZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_6] {t : X -> (Set.{u2} E)}, (forall (x : X), Convex.{0, u2} Real E Real.orderedSemiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (SMulZeroClass.toSMul.{0, u2} Real E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u2} Real E Real.instZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u2} Real E Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{0, u2} Real E Real.semiring (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)))) (t x)) -> (forall (x : X), Exists.{succ u2} E (fun (c : E) => Filter.Eventually.{u1} X (fun (y : X) => Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) c (t y)) (nhds.{u1} X _inst_1 x))) -> (Exists.{max (succ u1) (succ u2)} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) (fun (g : ContinuousMap.{u1, u2} X E _inst_1 _inst_6) => forall (x : X), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => E) x) (Set.{u2} E) (Set.instMembershipSet.{u2} E) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : X) => E) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u1, u2} (ContinuousMap.{u1, u2} X E _inst_1 _inst_6) X E _inst_1 _inst_6 (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} X E _inst_1 _inst_6)) g x) (t x)))
+Case conversion may be inaccurate. Consider using '#align exists_continuous_forall_mem_convex_of_local_const exists_continuous_forall_mem_convex_of_local_constₓ'. -/
 /-- Let `X` be a normal paracompact topological space (e.g., any extended metric space). Let `E` be
 a topological real vector space. Let `t : X → set E` be a family of convex sets. Suppose that for
 each point `x : X`, there exists a vector `c : E` that belongs to `t y` for all `y` in a

Changes in mathlib4

mathlib3
mathlib4
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
@@ -31,7 +31,7 @@ open Set Function
 
 open BigOperators Topology
 
-variable {ι X E : Type _} [TopologicalSpace X] [AddCommGroup E] [Module ℝ E]
+variable {ι X E : Type*} [TopologicalSpace X] [AddCommGroup E] [Module ℝ E]
 
 theorem PartitionOfUnity.finsum_smul_mem_convex {s : Set X} (f : PartitionOfUnity ι X s)
     {g : ι → X → E} {t : Set E} {x : X} (hx : x ∈ s) (hg : ∀ i, f i x ≠ 0 → g i x ∈ t)
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Yury Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module analysis.convex.partition_of_unity
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.PartitionOfUnity
 import Mathlib.Analysis.Convex.Combination
 
+#align_import analysis.convex.partition_of_unity from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
 /-!
 # Partition of unity and convex sets
 
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
@@ -56,7 +56,7 @@ theorem exists_continuous_forall_mem_convex_of_local (ht : ∀ x, Convex ℝ (t
     ∃ g : C(X, E), ∀ x, g x ∈ t x := by
   choose U hU g hgc hgt using H
   obtain ⟨f, hf⟩ := PartitionOfUnity.exists_isSubordinate isClosed_univ (fun x => interior (U x))
-    (fun x => isOpen_interior) fun x _ => mem_unionᵢ.2 ⟨x, mem_interior_iff_mem_nhds.2 (hU x)⟩
+    (fun x => isOpen_interior) fun x _ => mem_iUnion.2 ⟨x, mem_interior_iff_mem_nhds.2 (hU x)⟩
   refine' ⟨⟨fun x => ∑ᶠ i, f i x • g i x,
     hf.continuous_finsum_smul (fun i => isOpen_interior) fun i => (hgc i).mono interior_subset⟩,
     fun x => f.finsum_smul_mem_convex (mem_univ x) (fun i hi => hgt _ _ _) (ht _)⟩
feat: port Analysis.Convex.PartitionOfUnity (#3868)

Dependencies 10 + 666

667 files ported (98.5%)
289994 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