analysis.convex.bodyMathlib.Analysis.Convex.Body

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2022 Paul A. Reichert. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Paul A. Reichert
 -/
-import Mathbin.Analysis.Convex.Basic
-import Mathbin.Analysis.NormedSpace.Basic
-import Mathbin.Topology.MetricSpace.HausdorffDistance
+import Analysis.Convex.Basic
+import Analysis.NormedSpace.Basic
+import Topology.MetricSpace.HausdorffDistance
 
 #align_import analysis.convex.body from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
 
Diff
@@ -178,16 +178,16 @@ section SeminormedAddCommGroup
 
 variable [SeminormedAddCommGroup V] [NormedSpace ℝ V] (K L : ConvexBody V)
 
-#print ConvexBody.bounded /-
-protected theorem bounded : Metric.Bounded (K : Set V) :=
+#print ConvexBody.isBounded /-
+protected theorem isBounded : Bornology.IsBounded (K : Set V) :=
   K.IsCompact.Bounded
-#align convex_body.bounded ConvexBody.bounded
+#align convex_body.bounded ConvexBody.isBounded
 -/
 
 #print ConvexBody.hausdorffEdist_ne_top /-
 theorem hausdorffEdist_ne_top {K L : ConvexBody V} : EMetric.hausdorffEdist (K : Set V) L ≠ ⊤ := by
   apply_rules [Metric.hausdorffEdist_ne_top_of_nonempty_of_bounded, ConvexBody.nonempty,
-    ConvexBody.bounded]
+    ConvexBody.isBounded]
 #align convex_body.Hausdorff_edist_ne_top ConvexBody.hausdorffEdist_ne_top
 -/
 
Diff
@@ -151,7 +151,7 @@ instance : DistribMulAction ℝ (ConvexBody V)
     where
   toSMul := ConvexBody.hasSmul
   one_smul K := by ext; simp only [coe_smul, one_smul]
-  mul_smul c d K := by ext; simp only [coe_smul, mul_smul]
+  hMul_smul c d K := by ext; simp only [coe_smul, mul_smul]
   smul_add c K L := by ext; simp only [coe_smul, coe_add, smul_add]
   smul_zero c := by ext; simp only [coe_smul, coe_zero, smul_zero]
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2022 Paul A. Reichert. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Paul A. Reichert
-
-! This file was ported from Lean 3 source module analysis.convex.body
-! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.Convex.Basic
 import Mathbin.Analysis.NormedSpace.Basic
 import Mathbin.Topology.MetricSpace.HausdorffDistance
 
+#align_import analysis.convex.body from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
+
 /-!
 # Convex bodies
 
Diff
@@ -114,15 +114,19 @@ instance : AddMonoid (ConvexBody V)
   zero_add K := by ext; simp only [coe_mk, Set.image2_add, zero_add]
   add_zero K := by ext; simp only [coe_mk, Set.image2_add, add_zero]
 
+#print ConvexBody.coe_add /-
 @[simp]
 theorem coe_add (K L : ConvexBody V) : (↑(K + L) : Set V) = (K : Set V) + L :=
   rfl
 #align convex_body.coe_add ConvexBody.coe_add
+-/
 
+#print ConvexBody.coe_zero /-
 @[simp]
 theorem coe_zero : (↑(0 : ConvexBody V) : Set V) = 0 :=
   rfl
 #align convex_body.coe_zero ConvexBody.coe_zero
+-/
 
 instance : Inhabited (ConvexBody V) :=
   ⟨0⟩
@@ -154,10 +158,12 @@ instance : DistribMulAction ℝ (ConvexBody V)
   smul_add c K L := by ext; simp only [coe_smul, coe_add, smul_add]
   smul_zero c := by ext; simp only [coe_smul, coe_zero, smul_zero]
 
+#print ConvexBody.coe_smul' /-
 @[simp]
 theorem coe_smul' (c : ℝ≥0) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (K : Set V) :=
   rfl
 #align convex_body.coe_smul' ConvexBody.coe_smul'
+-/
 
 /-- The convex bodies in a fixed space $V$ form a module over the nonnegative reals.
 -/
Diff
@@ -38,9 +38,9 @@ convex, convex body
 -/
 
 
-open Pointwise
+open scoped Pointwise
 
-open NNReal
+open scoped NNReal
 
 variable {V : Type _}
 
Diff
@@ -114,17 +114,11 @@ instance : AddMonoid (ConvexBody V)
   zero_add K := by ext; simp only [coe_mk, Set.image2_add, zero_add]
   add_zero K := by ext; simp only [coe_mk, Set.image2_add, add_zero]
 
-/- warning: convex_body.coe_add -> ConvexBody.coe_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_body.coe_add ConvexBody.coe_addₓ'. -/
 @[simp]
 theorem coe_add (K L : ConvexBody V) : (↑(K + L) : Set V) = (K : Set V) + L :=
   rfl
 #align convex_body.coe_add ConvexBody.coe_add
 
-/- warning: convex_body.coe_zero -> ConvexBody.coe_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_body.coe_zero ConvexBody.coe_zeroₓ'. -/
 @[simp]
 theorem coe_zero : (↑(0 : ConvexBody V) : Set V) = 0 :=
   rfl
@@ -160,9 +154,6 @@ instance : DistribMulAction ℝ (ConvexBody V)
   smul_add c K L := by ext; simp only [coe_smul, coe_add, smul_add]
   smul_zero c := by ext; simp only [coe_smul, coe_zero, smul_zero]
 
-/- warning: convex_body.coe_smul' -> ConvexBody.coe_smul' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_body.coe_smul' ConvexBody.coe_smul'ₓ'. -/
 @[simp]
 theorem coe_smul' (c : ℝ≥0) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (K : Set V) :=
   rfl
Diff
@@ -65,10 +65,7 @@ variable [TopologicalSpace V] [AddCommGroup V] [Module ℝ V]
 instance : SetLike (ConvexBody V) V
     where
   coe := ConvexBody.carrier
-  coe_injective' K L h := by
-    cases K
-    cases L
-    congr
+  coe_injective' K L h := by cases K; cases L; congr
 
 #print ConvexBody.convex /-
 protected theorem convex (K : ConvexBody V) : Convex ℝ (K : Set V) :=
@@ -112,16 +109,10 @@ instance : AddMonoid (ConvexBody V)
   add K L :=
     ⟨Set.image2 (· + ·) K L, K.Convex.add L.Convex, K.IsCompact.add L.IsCompact,
       K.Nonempty.add L.Nonempty⟩
-  add_assoc K L M := by
-    ext
-    simp only [coe_mk, Set.image2_add, add_assoc]
+  add_assoc K L M := by ext; simp only [coe_mk, Set.image2_add, add_assoc]
   zero := ⟨0, convex_singleton 0, isCompact_singleton, Set.singleton_nonempty 0⟩
-  zero_add K := by
-    ext
-    simp only [coe_mk, Set.image2_add, zero_add]
-  add_zero K := by
-    ext
-    simp only [coe_mk, Set.image2_add, add_zero]
+  zero_add K := by ext; simp only [coe_mk, Set.image2_add, zero_add]
+  add_zero K := by ext; simp only [coe_mk, Set.image2_add, add_zero]
 
 /- warning: convex_body.coe_add -> ConvexBody.coe_add is a dubious translation:
 <too large>
@@ -143,10 +134,7 @@ instance : Inhabited (ConvexBody V) :=
   ⟨0⟩
 
 instance : AddCommMonoid (ConvexBody V) :=
-  { ConvexBody.addMonoid with
-    add_comm := fun K L => by
-      ext
-      simp only [coe_add, add_comm] }
+  { ConvexBody.addMonoid with add_comm := fun K L => by ext; simp only [coe_add, add_comm] }
 
 end ContinuousAdd
 
@@ -167,18 +155,10 @@ variable [ContinuousAdd V]
 instance : DistribMulAction ℝ (ConvexBody V)
     where
   toSMul := ConvexBody.hasSmul
-  one_smul K := by
-    ext
-    simp only [coe_smul, one_smul]
-  mul_smul c d K := by
-    ext
-    simp only [coe_smul, mul_smul]
-  smul_add c K L := by
-    ext
-    simp only [coe_smul, coe_add, smul_add]
-  smul_zero c := by
-    ext
-    simp only [coe_smul, coe_zero, smul_zero]
+  one_smul K := by ext; simp only [coe_smul, one_smul]
+  mul_smul c d K := by ext; simp only [coe_smul, mul_smul]
+  smul_add c K L := by ext; simp only [coe_smul, coe_add, smul_add]
+  smul_zero c := by ext; simp only [coe_smul, coe_zero, smul_zero]
 
 /- warning: convex_body.coe_smul' -> ConvexBody.coe_smul' is a dubious translation:
 <too large>
@@ -196,9 +176,7 @@ instance : Module ℝ≥0 (ConvexBody V)
     ext1
     simp only [coe_smul, coe_add]
     exact Convex.add_smul K.convex (NNReal.coe_nonneg _) (NNReal.coe_nonneg _)
-  zero_smul K := by
-    ext1
-    exact Set.zero_smul_set K.nonempty
+  zero_smul K := by ext1; exact Set.zero_smul_set K.nonempty
 
 end TVS
 
@@ -237,9 +215,7 @@ theorem hausdorffDist_coe : Metric.hausdorffDist (K : Set V) L = dist K L :=
 
 #print ConvexBody.hausdorffEdist_coe /-
 @[simp, norm_cast]
-theorem hausdorffEdist_coe : EMetric.hausdorffEdist (K : Set V) L = edist K L :=
-  by
-  rw [edist_dist]
+theorem hausdorffEdist_coe : EMetric.hausdorffEdist (K : Set V) L = edist K L := by rw [edist_dist];
   exact (ENNReal.ofReal_toReal Hausdorff_edist_ne_top).symm
 #align convex_body.Hausdorff_edist_coe ConvexBody.hausdorffEdist_coe
 -/
Diff
@@ -124,10 +124,7 @@ instance : AddMonoid (ConvexBody V)
     simp only [coe_mk, Set.image2_add, add_zero]
 
 /- warning: convex_body.coe_add -> ConvexBody.coe_add is a dubious translation:
-lean 3 declaration is
-  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toHasAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))] (K : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (L : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))), Eq.{succ u1} (Set.{u1} V) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) (HAdd.hAdd.{u1, u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (instHAdd.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddZeroClass.toHasAdd.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_4)))) K L)) (HAdd.hAdd.{u1, u1, u1} (Set.{u1} V) (Set.{u1} V) (Set.{u1} V) (instHAdd.{u1} (Set.{u1} V) (Set.add.{u1} V (AddZeroClass.toHasAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) K) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) L))
-but is expected to have type
-  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))] (K : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (L : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))), Eq.{succ u1} (Set.{u1} V) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) (HAdd.hAdd.{u1, u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (instHAdd.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instAddConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_4)) K L)) (HAdd.hAdd.{u1, u1, u1} (Set.{u1} V) (Set.{u1} V) (Set.{u1} V) (instHAdd.{u1} (Set.{u1} V) (Set.add.{u1} V (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))))))) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) K) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) L))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_body.coe_add ConvexBody.coe_addₓ'. -/
 @[simp]
 theorem coe_add (K L : ConvexBody V) : (↑(K + L) : Set V) = (K : Set V) + L :=
@@ -135,10 +132,7 @@ theorem coe_add (K L : ConvexBody V) : (↑(K + L) : Set V) = (K : Set V) + L :=
 #align convex_body.coe_add ConvexBody.coe_add
 
 /- warning: convex_body.coe_zero -> ConvexBody.coe_zero is a dubious translation:
-lean 3 declaration is
-  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toHasAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))], Eq.{succ u1} (Set.{u1} V) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) (OfNat.ofNat.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) 0 (OfNat.mk.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) 0 (Zero.zero.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddZeroClass.toHasZero.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_4))))))) (OfNat.ofNat.{u1} (Set.{u1} V) 0 (OfNat.mk.{u1} (Set.{u1} V) 0 (Zero.zero.{u1} (Set.{u1} V) (Set.zero.{u1} V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))))))
-but is expected to have type
-  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)], Eq.{succ u1} (Set.{u1} V) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) (OfNat.ofNat.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) 0 (Zero.toOfNat0.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instZeroConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3)))) (OfNat.ofNat.{u1} (Set.{u1} V) 0 (Zero.toOfNat0.{u1} (Set.{u1} V) (Set.zero.{u1} V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_body.coe_zero ConvexBody.coe_zeroₓ'. -/
 @[simp]
 theorem coe_zero : (↑(0 : ConvexBody V) : Set V) = 0 :=
@@ -187,10 +181,7 @@ instance : DistribMulAction ℝ (ConvexBody V)
     simp only [coe_smul, coe_zero, smul_zero]
 
 /- warning: convex_body.coe_smul' -> ConvexBody.coe_smul' is a dubious translation:
-lean 3 declaration is
-  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousSMul.{0, u1} Real V (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_1] [_inst_5 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toHasAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))] (c : NNReal) (K : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))), Eq.{succ u1} (Set.{u1} V) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) (SMul.smul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (SMulZeroClass.toHasSmul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddZeroClass.toHasZero.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_5))) (DistribSMul.toSmulZeroClass.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_5)) (DistribMulAction.toDistribSMul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_5) (NNReal.distribMulAction.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_5) (ConvexBody.distribMulAction.{u1} V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5))))) c K)) (SMul.smul.{0, u1} NNReal (Set.{u1} V) (Set.smulSet.{0, u1} NNReal V (SMulZeroClass.toHasSmul.{0, u1} NNReal V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} NNReal V (MulZeroClass.toHasZero.{0} NNReal (MulZeroOneClass.toMulZeroClass.{0} NNReal (MonoidWithZero.toMulZeroOneClass.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} NNReal V (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} NNReal V NNReal.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (NNReal.module.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)))))) c ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) K))
-but is expected to have type
-  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousSMul.{0, u1} Real V (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_1] [_inst_5 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))] (c : NNReal) (K : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))), Eq.{succ u1} (Set.{u1} V) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{0, u1, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (instHSMul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instZeroConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) (DistribSMul.toSMulZeroClass.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instAddMonoidConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_5)) (DistribMulAction.toDistribSMul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)) (ConvexBody.instAddMonoidConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_5) (NNReal.instDistribMulActionNNRealToMonoidToMonoidWithZeroInstNNRealSemiring.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instAddMonoidConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_5) (ConvexBody.instDistribMulActionRealConvexBodyToAddCommMonoidToSMulToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiringInstMonoidRealInstAddMonoidConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))))) c K)) (HSMul.hSMul.{0, u1, u1} NNReal (Set.{u1} V) (Set.{u1} V) (instHSMul.{0, u1} NNReal (Set.{u1} V) (Set.smulSet.{0, u1} NNReal V (SMulZeroClass.toSMul.{0, u1} NNReal V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} NNReal V instNNRealZero (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} NNReal V (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring) (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} NNReal V instNNRealSemiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (NNReal.instModuleNNRealInstNNRealSemiring.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))))) c (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) K))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_body.coe_smul' ConvexBody.coe_smul'ₓ'. -/
 @[simp]
 theorem coe_smul' (c : ℝ≥0) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (K : Set V) :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Paul A. Reichert
 
 ! This file was ported from Lean 3 source module analysis.convex.body
-! leanprover-community/mathlib commit 858a10cf68fd6c06872950fc58c4dcc68d465591
+! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Topology.MetricSpace.HausdorffDistance
 /-!
 # Convex bodies
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file contains the definition of the type `convex_body V`
 consisting of
 convex, compact, nonempty subsets of a real topological vector space `V`.
Diff
@@ -41,6 +41,7 @@ open NNReal
 
 variable {V : Type _}
 
+#print ConvexBody /-
 /-- Let `V` be a real topological vector space. A subset of `V` is a convex body if and only if
 it is convex, compact, and nonempty.
 -/
@@ -50,6 +51,7 @@ structure ConvexBody (V : Type _) [TopologicalSpace V] [AddCommMonoid V] [SMul 
   is_compact' : IsCompact carrier
   nonempty' : carrier.Nonempty
 #align convex_body ConvexBody
+-/
 
 namespace ConvexBody
 
@@ -65,27 +67,37 @@ instance : SetLike (ConvexBody V) V
     cases L
     congr
 
+#print ConvexBody.convex /-
 protected theorem convex (K : ConvexBody V) : Convex ℝ (K : Set V) :=
   K.convex'
 #align convex_body.convex ConvexBody.convex
+-/
 
+#print ConvexBody.isCompact /-
 protected theorem isCompact (K : ConvexBody V) : IsCompact (K : Set V) :=
   K.is_compact'
 #align convex_body.is_compact ConvexBody.isCompact
+-/
 
+#print ConvexBody.nonempty /-
 protected theorem nonempty (K : ConvexBody V) : (K : Set V).Nonempty :=
   K.nonempty'
 #align convex_body.nonempty ConvexBody.nonempty
+-/
 
+#print ConvexBody.ext /-
 @[ext]
 protected theorem ext {K L : ConvexBody V} (h : (K : Set V) = L) : K = L :=
   SetLike.ext' h
 #align convex_body.ext ConvexBody.ext
+-/
 
+#print ConvexBody.coe_mk /-
 @[simp]
 theorem coe_mk (s : Set V) (h₁ h₂ h₃) : (mk s h₁ h₂ h₃ : Set V) = s :=
   rfl
 #align convex_body.coe_mk ConvexBody.coe_mk
+-/
 
 section ContinuousAdd
 
@@ -108,11 +120,23 @@ instance : AddMonoid (ConvexBody V)
     ext
     simp only [coe_mk, Set.image2_add, add_zero]
 
+/- warning: convex_body.coe_add -> ConvexBody.coe_add is a dubious translation:
+lean 3 declaration is
+  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toHasAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))] (K : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (L : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))), Eq.{succ u1} (Set.{u1} V) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) (HAdd.hAdd.{u1, u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (instHAdd.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddZeroClass.toHasAdd.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_4)))) K L)) (HAdd.hAdd.{u1, u1, u1} (Set.{u1} V) (Set.{u1} V) (Set.{u1} V) (instHAdd.{u1} (Set.{u1} V) (Set.add.{u1} V (AddZeroClass.toHasAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) K) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) L))
+but is expected to have type
+  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))] (K : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (L : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))), Eq.{succ u1} (Set.{u1} V) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) (HAdd.hAdd.{u1, u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (instHAdd.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instAddConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_4)) K L)) (HAdd.hAdd.{u1, u1, u1} (Set.{u1} V) (Set.{u1} V) (Set.{u1} V) (instHAdd.{u1} (Set.{u1} V) (Set.add.{u1} V (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2))))))) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) K) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) L))
+Case conversion may be inaccurate. Consider using '#align convex_body.coe_add ConvexBody.coe_addₓ'. -/
 @[simp]
 theorem coe_add (K L : ConvexBody V) : (↑(K + L) : Set V) = (K : Set V) + L :=
   rfl
 #align convex_body.coe_add ConvexBody.coe_add
 
+/- warning: convex_body.coe_zero -> ConvexBody.coe_zero is a dubious translation:
+lean 3 declaration is
+  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toHasAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))], Eq.{succ u1} (Set.{u1} V) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) (OfNat.ofNat.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) 0 (OfNat.mk.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) 0 (Zero.zero.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddZeroClass.toHasZero.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_4))))))) (OfNat.ofNat.{u1} (Set.{u1} V) 0 (OfNat.mk.{u1} (Set.{u1} V) 0 (Zero.zero.{u1} (Set.{u1} V) (Set.zero.{u1} V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))))))
+but is expected to have type
+  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)], Eq.{succ u1} (Set.{u1} V) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) (OfNat.ofNat.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) 0 (Zero.toOfNat0.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instZeroConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3)))) (OfNat.ofNat.{u1} (Set.{u1} V) 0 (Zero.toOfNat0.{u1} (Set.{u1} V) (Set.zero.{u1} V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align convex_body.coe_zero ConvexBody.coe_zeroₓ'. -/
 @[simp]
 theorem coe_zero : (↑(0 : ConvexBody V) : Set V) = 0 :=
   rfl
@@ -134,10 +158,12 @@ variable [ContinuousSMul ℝ V]
 instance : SMul ℝ (ConvexBody V)
     where smul c K := ⟨c • (K : Set V), K.Convex.smul _, K.IsCompact.smul _, K.Nonempty.smul_set⟩
 
+#print ConvexBody.coe_smul /-
 @[simp]
 theorem coe_smul (c : ℝ) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (K : Set V) :=
   rfl
 #align convex_body.coe_smul ConvexBody.coe_smul
+-/
 
 variable [ContinuousAdd V]
 
@@ -157,6 +183,12 @@ instance : DistribMulAction ℝ (ConvexBody V)
     ext
     simp only [coe_smul, coe_zero, smul_zero]
 
+/- warning: convex_body.coe_smul' -> ConvexBody.coe_smul' is a dubious translation:
+lean 3 declaration is
+  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousSMul.{0, u1} Real V (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_1] [_inst_5 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toHasAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))] (c : NNReal) (K : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))), Eq.{succ u1} (Set.{u1} V) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) (SMul.smul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (SMulZeroClass.toHasSmul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddZeroClass.toHasZero.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_5))) (DistribSMul.toSmulZeroClass.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_5)) (DistribMulAction.toDistribSMul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_5) (NNReal.distribMulAction.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.addMonoid.{u1} V _inst_1 _inst_2 _inst_3 _inst_5) (ConvexBody.distribMulAction.{u1} V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5))))) c K)) (SMul.smul.{0, u1} NNReal (Set.{u1} V) (Set.smulSet.{0, u1} NNReal V (SMulZeroClass.toHasSmul.{0, u1} NNReal V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} NNReal V (MulZeroClass.toHasZero.{0} NNReal (MulZeroOneClass.toMulZeroClass.{0} NNReal (MonoidWithZero.toMulZeroOneClass.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} NNReal V (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} NNReal V NNReal.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (NNReal.module.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)))))) c ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (HasLiftT.mk.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (CoeTCₓ.coe.{succ u1, succ u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (Set.{u1} V) (SetLike.Set.hasCoeT.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toHasSmul.{0, u1} Real V (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{0, u1} Real V (MulZeroClass.toHasZero.{0} Real (MulZeroOneClass.toMulZeroClass.{0} Real (MonoidWithZero.toMulZeroOneClass.{0} Real (Semiring.toMonoidWithZero.{0} Real Real.semiring)))) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V (Semiring.toMonoidWithZero.{0} Real Real.semiring) (AddZeroClass.toHasZero.{u1} V (AddMonoid.toAddZeroClass.{u1} V (AddCommMonoid.toAddMonoid.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.setLike.{u1} V _inst_1 _inst_2 _inst_3)))) K))
+but is expected to have type
+  forall {V : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} V] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] [_inst_4 : ContinuousSMul.{0, u1} Real V (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)))) (UniformSpace.toTopologicalSpace.{0} Real (PseudoMetricSpace.toUniformSpace.{0} Real Real.pseudoMetricSpace)) _inst_1] [_inst_5 : ContinuousAdd.{u1} V _inst_1 (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))] (c : NNReal) (K : ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))), Eq.{succ u1} (Set.{u1} V) (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) (HSMul.hSMul.{0, u1, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (instHSMul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instZeroConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) (DistribSMul.toSMulZeroClass.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (AddMonoid.toAddZeroClass.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instAddMonoidConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_5)) (DistribMulAction.toDistribSMul.{0, u1} NNReal (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)) (ConvexBody.instAddMonoidConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_5) (NNReal.instDistribMulActionNNRealToMonoidToMonoidWithZeroInstNNRealSemiring.{u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) (ConvexBody.instAddMonoidConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_5) (ConvexBody.instDistribMulActionRealConvexBodyToAddCommMonoidToSMulToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiringInstMonoidRealInstAddMonoidConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))))) c K)) (HSMul.hSMul.{0, u1, u1} NNReal (Set.{u1} V) (Set.{u1} V) (instHSMul.{0, u1} NNReal (Set.{u1} V) (Set.smulSet.{0, u1} NNReal V (SMulZeroClass.toSMul.{0, u1} NNReal V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} NNReal V instNNRealZero (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} NNReal V (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring) (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} NNReal V instNNRealSemiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (NNReal.instModuleNNRealInstNNRealSemiring.{u1} V (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))))) c (SetLike.coe.{u1, u1} (ConvexBody.{u1} V _inst_1 (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) (SMulZeroClass.toSMul.{0, u1} Real V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{0, u1} Real V Real.instZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{0, u1} Real V Real.instMonoidWithZeroReal (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2))))) (Module.toMulActionWithZero.{0, u1} Real V Real.semiring (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3))))) V (ConvexBody.instSetLikeConvexBodyToAddCommMonoidToSMulRealToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoidToDivisionAddCommMonoidToSMulZeroClassInstZeroRealToSMulWithZeroInstMonoidWithZeroRealToMulActionWithZeroSemiring.{u1} V _inst_1 _inst_2 _inst_3) K))
+Case conversion may be inaccurate. Consider using '#align convex_body.coe_smul' ConvexBody.coe_smul'ₓ'. -/
 @[simp]
 theorem coe_smul' (c : ℝ≥0) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (K : Set V) :=
   rfl
@@ -180,14 +212,18 @@ section SeminormedAddCommGroup
 
 variable [SeminormedAddCommGroup V] [NormedSpace ℝ V] (K L : ConvexBody V)
 
+#print ConvexBody.bounded /-
 protected theorem bounded : Metric.Bounded (K : Set V) :=
   K.IsCompact.Bounded
 #align convex_body.bounded ConvexBody.bounded
+-/
 
+#print ConvexBody.hausdorffEdist_ne_top /-
 theorem hausdorffEdist_ne_top {K L : ConvexBody V} : EMetric.hausdorffEdist (K : Set V) L ≠ ⊤ := by
   apply_rules [Metric.hausdorffEdist_ne_top_of_nonempty_of_bounded, ConvexBody.nonempty,
     ConvexBody.bounded]
 #align convex_body.Hausdorff_edist_ne_top ConvexBody.hausdorffEdist_ne_top
+-/
 
 /-- Convex bodies in a fixed seminormed space $V$ form a pseudo-metric space under the Hausdorff
 metric. -/
@@ -198,17 +234,21 @@ noncomputable instance : PseudoMetricSpace (ConvexBody V)
   dist_comm _ _ := Metric.hausdorffDist_comm
   dist_triangle K L M := Metric.hausdorffDist_triangle hausdorffEdist_ne_top
 
+#print ConvexBody.hausdorffDist_coe /-
 @[simp, norm_cast]
 theorem hausdorffDist_coe : Metric.hausdorffDist (K : Set V) L = dist K L :=
   rfl
 #align convex_body.Hausdorff_dist_coe ConvexBody.hausdorffDist_coe
+-/
 
+#print ConvexBody.hausdorffEdist_coe /-
 @[simp, norm_cast]
 theorem hausdorffEdist_coe : EMetric.hausdorffEdist (K : Set V) L = edist K L :=
   by
   rw [edist_dist]
   exact (ENNReal.ofReal_toReal Hausdorff_edist_ne_top).symm
 #align convex_body.Hausdorff_edist_coe ConvexBody.hausdorffEdist_coe
+-/
 
 end SeminormedAddCommGroup
 
Diff
@@ -184,7 +184,7 @@ protected theorem bounded : Metric.Bounded (K : Set V) :=
   K.IsCompact.Bounded
 #align convex_body.bounded ConvexBody.bounded
 
-theorem hausdorffEdist_ne_top {K L : ConvexBody V} : Emetric.hausdorffEdist (K : Set V) L ≠ ⊤ := by
+theorem hausdorffEdist_ne_top {K L : ConvexBody V} : EMetric.hausdorffEdist (K : Set V) L ≠ ⊤ := by
   apply_rules [Metric.hausdorffEdist_ne_top_of_nonempty_of_bounded, ConvexBody.nonempty,
     ConvexBody.bounded]
 #align convex_body.Hausdorff_edist_ne_top ConvexBody.hausdorffEdist_ne_top
@@ -204,7 +204,7 @@ theorem hausdorffDist_coe : Metric.hausdorffDist (K : Set V) L = dist K L :=
 #align convex_body.Hausdorff_dist_coe ConvexBody.hausdorffDist_coe
 
 @[simp, norm_cast]
-theorem hausdorffEdist_coe : Emetric.hausdorffEdist (K : Set V) L = edist K L :=
+theorem hausdorffEdist_coe : EMetric.hausdorffEdist (K : Set V) L = edist K L :=
   by
   rw [edist_dist]
   exact (ENNReal.ofReal_toReal Hausdorff_edist_ne_top).symm
Diff
@@ -207,7 +207,7 @@ theorem hausdorffDist_coe : Metric.hausdorffDist (K : Set V) L = dist K L :=
 theorem hausdorffEdist_coe : Emetric.hausdorffEdist (K : Set V) L = edist K L :=
   by
   rw [edist_dist]
-  exact (Ennreal.ofReal_toReal Hausdorff_edist_ne_top).symm
+  exact (ENNReal.ofReal_toReal Hausdorff_edist_ne_top).symm
 #align convex_body.Hausdorff_edist_coe ConvexBody.hausdorffEdist_coe
 
 end SeminormedAddCommGroup
Diff
@@ -4,28 +4,30 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Paul A. Reichert
 
 ! This file was ported from Lean 3 source module analysis.convex.body
-! leanprover-community/mathlib commit e6c26fe38ddd3d4175caf4bd24d685901eb85fe5
+! leanprover-community/mathlib commit 858a10cf68fd6c06872950fc58c4dcc68d465591
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.Convex.Basic
-import Mathbin.Data.Real.Nnreal
-import Mathbin.Topology.Algebra.Module.Basic
-import Mathbin.Topology.Instances.Real
+import Mathbin.Analysis.NormedSpace.Basic
+import Mathbin.Topology.MetricSpace.HausdorffDistance
 
 /-!
-# convex bodies
+# Convex bodies
 
 This file contains the definition of the type `convex_body V`
 consisting of
 convex, compact, nonempty subsets of a real topological vector space `V`.
 
-`convex_body V` is a module over the nonnegative reals (`nnreal`).
+`convex_body V` is a module over the nonnegative reals (`nnreal`) and a pseudo-metric space.
+If `V` is a normed space, `convex_body V` is a metric space.
+
+## TODO
 
-TODOs:
-- endow it with the Hausdorff metric
 - define positive convex bodies, requiring the interior to be nonempty
 - introduce support sets
+- Characterise the interaction of the distance with algebraic operations, eg
+  `dist (a • K) (a • L) = ‖a‖ * dist K L`, `dist (a +ᵥ K) (a +ᵥ L) = dist K L`
 
 ## Tags
 
@@ -37,13 +39,12 @@ open Pointwise
 
 open NNReal
 
-variable (V : Type _) [TopologicalSpace V] [AddCommGroup V] [ContinuousAdd V] [Module ℝ V]
-  [ContinuousSMul ℝ V]
+variable {V : Type _}
 
 /-- Let `V` be a real topological vector space. A subset of `V` is a convex body if and only if
 it is convex, compact, and nonempty.
 -/
-structure ConvexBody where
+structure ConvexBody (V : Type _) [TopologicalSpace V] [AddCommMonoid V] [SMul ℝ V] where
   carrier : Set V
   convex' : Convex ℝ carrier
   is_compact' : IsCompact carrier
@@ -52,7 +53,9 @@ structure ConvexBody where
 
 namespace ConvexBody
 
-variable {V}
+section TVS
+
+variable [TopologicalSpace V] [AddCommGroup V] [Module ℝ V]
 
 instance : SetLike (ConvexBody V) V
     where
@@ -62,15 +65,15 @@ instance : SetLike (ConvexBody V) V
     cases L
     congr
 
-theorem convex (K : ConvexBody V) : Convex ℝ (K : Set V) :=
+protected theorem convex (K : ConvexBody V) : Convex ℝ (K : Set V) :=
   K.convex'
 #align convex_body.convex ConvexBody.convex
 
-theorem isCompact (K : ConvexBody V) : IsCompact (K : Set V) :=
+protected theorem isCompact (K : ConvexBody V) : IsCompact (K : Set V) :=
   K.is_compact'
 #align convex_body.is_compact ConvexBody.isCompact
 
-theorem nonempty (K : ConvexBody V) : (K : Set V).Nonempty :=
+protected theorem nonempty (K : ConvexBody V) : (K : Set V).Nonempty :=
   K.nonempty'
 #align convex_body.nonempty ConvexBody.nonempty
 
@@ -84,6 +87,10 @@ theorem coe_mk (s : Set V) (h₁ h₂ h₃) : (mk s h₁ h₂ h₃ : Set V) = s
   rfl
 #align convex_body.coe_mk ConvexBody.coe_mk
 
+section ContinuousAdd
+
+variable [ContinuousAdd V]
+
 instance : AddMonoid (ConvexBody V)
     where
   -- we cannot write K + L to avoid reducibility issues with the set.has_add instance
@@ -120,6 +127,10 @@ instance : AddCommMonoid (ConvexBody V) :=
       ext
       simp only [coe_add, add_comm] }
 
+end ContinuousAdd
+
+variable [ContinuousSMul ℝ V]
+
 instance : SMul ℝ (ConvexBody V)
     where smul c K := ⟨c • (K : Set V), K.Convex.smul _, K.IsCompact.smul _, K.Nonempty.smul_set⟩
 
@@ -128,6 +139,8 @@ theorem coe_smul (c : ℝ) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (
   rfl
 #align convex_body.coe_smul ConvexBody.coe_smul
 
+variable [ContinuousAdd V]
+
 instance : DistribMulAction ℝ (ConvexBody V)
     where
   toSMul := ConvexBody.hasSmul
@@ -161,5 +174,56 @@ instance : Module ℝ≥0 (ConvexBody V)
     ext1
     exact Set.zero_smul_set K.nonempty
 
+end TVS
+
+section SeminormedAddCommGroup
+
+variable [SeminormedAddCommGroup V] [NormedSpace ℝ V] (K L : ConvexBody V)
+
+protected theorem bounded : Metric.Bounded (K : Set V) :=
+  K.IsCompact.Bounded
+#align convex_body.bounded ConvexBody.bounded
+
+theorem hausdorffEdist_ne_top {K L : ConvexBody V} : Emetric.hausdorffEdist (K : Set V) L ≠ ⊤ := by
+  apply_rules [Metric.hausdorffEdist_ne_top_of_nonempty_of_bounded, ConvexBody.nonempty,
+    ConvexBody.bounded]
+#align convex_body.Hausdorff_edist_ne_top ConvexBody.hausdorffEdist_ne_top
+
+/-- Convex bodies in a fixed seminormed space $V$ form a pseudo-metric space under the Hausdorff
+metric. -/
+noncomputable instance : PseudoMetricSpace (ConvexBody V)
+    where
+  dist K L := Metric.hausdorffDist (K : Set V) L
+  dist_self _ := Metric.hausdorffDist_self_zero
+  dist_comm _ _ := Metric.hausdorffDist_comm
+  dist_triangle K L M := Metric.hausdorffDist_triangle hausdorffEdist_ne_top
+
+@[simp, norm_cast]
+theorem hausdorffDist_coe : Metric.hausdorffDist (K : Set V) L = dist K L :=
+  rfl
+#align convex_body.Hausdorff_dist_coe ConvexBody.hausdorffDist_coe
+
+@[simp, norm_cast]
+theorem hausdorffEdist_coe : Emetric.hausdorffEdist (K : Set V) L = edist K L :=
+  by
+  rw [edist_dist]
+  exact (Ennreal.ofReal_toReal Hausdorff_edist_ne_top).symm
+#align convex_body.Hausdorff_edist_coe ConvexBody.hausdorffEdist_coe
+
+end SeminormedAddCommGroup
+
+section NormedAddCommGroup
+
+variable [NormedAddCommGroup V] [NormedSpace ℝ V]
+
+/-- Convex bodies in a fixed normed space `V` form a metric space under the Hausdorff metric. -/
+noncomputable instance : MetricSpace (ConvexBody V)
+    where eq_of_dist_eq_zero K L hd :=
+    ConvexBody.ext <|
+      (K.IsCompact.IsClosed.hausdorffDist_zero_iff_eq L.IsCompact.IsClosed hausdorffEdist_ne_top).mp
+        hd
+
+end NormedAddCommGroup
+
 end ConvexBody
 

Changes in mathlib4

mathlib3
mathlib4
change the order of operation in zsmulRec and nsmulRec (#11451)

We change the following field in the definition of an additive commutative monoid:

 nsmul_succ : ∀ (n : ℕ) (x : G),
-  AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+  AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x

where the latter is more natural

We adjust the definitions of ^ in monoids, groups, etc. Originally there was a warning comment about why this natural order was preferred

use x * npowRec n x and not npowRec n x * x in the definition to make sure that definitional unfolding of npowRec is blocked, to avoid deep recursion issues.

but it seems to no longer apply.

Remarks on the PR :

  • pow_succ and pow_succ' have switched their meanings.
  • Most of the time, the proofs were adjusted by priming/unpriming one lemma, or exchanging left and right; a few proofs were more complicated to adjust.
  • In particular, [Mathlib/NumberTheory/RamificationInertia.lean] used Ideal.IsPrime.mul_mem_pow which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul.
  • the docstring for Cauchy condensation test in [Mathlib/Analysis/PSeries.lean] was mathematically incorrect, I added the mention that the function is antitone.
Diff
@@ -110,7 +110,7 @@ instance : SMul ℕ (ConvexBody V) where
 -- Porting note: add @[simp, norm_cast]; we leave it out for now to reproduce mathlib3 behavior.
 theorem coe_nsmul : ∀ (n : ℕ) (K : ConvexBody V), ↑(n • K) = n • (K : Set V)
   | 0, _ => rfl
-  | (n + 1), K => congr_arg₂ (Set.image2 (· + ·)) rfl (coe_nsmul n K)
+  | (n + 1), K => congr_arg₂ (Set.image2 (· + ·)) (coe_nsmul n K) rfl
 
 instance : AddMonoid (ConvexBody V) :=
   SetLike.coe_injective.addMonoid (↑) rfl (fun _ _ ↦ rfl) fun _ _ ↦ coe_nsmul _ _
chore: Rename mul-div cancellation lemmas (#11530)

Lemma names around cancellation of multiplication and division are a mess.

This PR renames a handful of them according to the following table (each big row contains the multiplicative statement, then the three rows contain the GroupWithZero lemma name, the Group lemma, the AddGroup lemma name).

| Statement | New name | Old name | |

Diff
@@ -223,7 +223,7 @@ theorem iInter_smul_eq_self [T2Space V] {u : ℕ → ℝ≥0} (K : ConvexBody V)
     obtain ⟨n, hn⟩ := hu (ε / C) (div_pos hε hC_pos)
     obtain ⟨y, hyK, rfl⟩ := Set.mem_smul_set.mp (Set.mem_iInter.mp h n)
     refine ⟨y, hyK, ?_⟩
-    rw [show (1 + u n : ℝ) • y - y = (u n : ℝ) • y by rw [add_smul, one_smul, add_sub_cancel'],
+    rw [show (1 + u n : ℝ) • y - y = (u n : ℝ) • y by rw [add_smul, one_smul, add_sub_cancel_left],
       norm_smul, Real.norm_eq_abs]
     specialize hn n le_rfl
     rw [_root_.lt_div_iff' hC_pos, mul_comm, NNReal.coe_zero, sub_zero, Real.norm_eq_abs] at hn
chore: classify new theorem / theorem porting notes (#11432)

Classifies by adding issue number #10756 to porting notes claiming anything equivalent to:

  • "added theorem"
  • "added theorems"
  • "new theorem"
  • "new theorems"
  • "added lemma"
  • "new lemma"
  • "new lemmas"
Diff
@@ -67,7 +67,7 @@ protected theorem isCompact (K : ConvexBody V) : IsCompact (K : Set V) :=
   K.isCompact'
 #align convex_body.is_compact ConvexBody.isCompact
 
--- Porting note: new theorem
+-- Porting note (#10756): new theorem
 protected theorem isClosed [T2Space V] (K : ConvexBody V) : IsClosed (K : Set V) :=
   K.isCompact.isClosed
 
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -67,7 +67,7 @@ protected theorem isCompact (K : ConvexBody V) : IsCompact (K : Set V) :=
   K.isCompact'
 #align convex_body.is_compact ConvexBody.isCompact
 
--- porting note: new theorem
+-- Porting note: new theorem
 protected theorem isClosed [T2Space V] (K : ConvexBody V) : IsClosed (K : Set V) :=
   K.isCompact.isClosed
 
@@ -107,7 +107,7 @@ instance : Zero (ConvexBody V) where
 instance : SMul ℕ (ConvexBody V) where
   smul := nsmulRec
 
--- porting note: add @[simp, norm_cast]; we leave it out for now to reproduce mathlib3 behavior.
+-- Porting note: add @[simp, norm_cast]; we leave it out for now to reproduce mathlib3 behavior.
 theorem coe_nsmul : ∀ (n : ℕ) (K : ConvexBody V), ↑(n • K) = n • (K : Set V)
   | 0, _ => rfl
   | (n + 1), K => congr_arg₂ (Set.image2 (· + ·)) rfl (coe_nsmul n K)
@@ -115,12 +115,12 @@ theorem coe_nsmul : ∀ (n : ℕ) (K : ConvexBody V), ↑(n • K) = n • (K :
 instance : AddMonoid (ConvexBody V) :=
   SetLike.coe_injective.addMonoid (↑) rfl (fun _ _ ↦ rfl) fun _ _ ↦ coe_nsmul _ _
 
-@[simp] -- porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
+@[simp] -- Porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
 theorem coe_add (K L : ConvexBody V) : (↑(K + L) : Set V) = (K : Set V) + L :=
   rfl
 #align convex_body.coe_add ConvexBody.coe_add
 
-@[simp] -- porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
+@[simp] -- Porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
 theorem coe_zero : (↑(0 : ConvexBody V) : Set V) = 0 :=
   rfl
 #align convex_body.coe_zero ConvexBody.coe_zero
@@ -138,7 +138,7 @@ variable [ContinuousSMul ℝ V]
 instance : SMul ℝ (ConvexBody V) where
   smul c K := ⟨c • (K : Set V), K.convex.smul _, K.isCompact.smul _, K.nonempty.smul_set⟩
 
-@[simp] -- porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
+@[simp] -- Porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
 theorem coe_smul (c : ℝ) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (K : Set V) :=
   rfl
 #align convex_body.coe_smul ConvexBody.coe_smul
@@ -148,7 +148,7 @@ variable [ContinuousAdd V]
 instance : DistribMulAction ℝ (ConvexBody V) :=
   SetLike.coe_injective.distribMulAction ⟨⟨(↑), coe_zero⟩, coe_add⟩ coe_smul
 
-@[simp] -- porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
+@[simp] -- Porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
 theorem coe_smul' (c : ℝ≥0) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (K : Set V) :=
   rfl
 #align convex_body.coe_smul' ConvexBody.coe_smul'
chore(Convex.Body): address porting note (#10697)

It appears this note no longer applies.

Diff
@@ -96,11 +96,9 @@ section ContinuousAdd
 
 variable [ContinuousAdd V]
 
--- we cannot write K + L to avoid reducibility issues with the set.has_add instance
--- porting note: todo: is this^ still true?
 instance : Add (ConvexBody V) where
   add K L :=
-    ⟨Set.image2 (· + ·) K L, K.convex.add L.convex, K.isCompact.add L.isCompact,
+    ⟨K + L, K.convex.add L.convex, K.isCompact.add L.isCompact,
       K.nonempty.add L.nonempty⟩
 
 instance : Zero (ConvexBody V) where
chore(*): use notation for nhds (#10416)

Also fix GeneralizedContinuedFraction.of_convergence: it worked for the Preorder.topology only.

Diff
@@ -32,9 +32,7 @@ convex, convex body
 -/
 
 
-open Pointwise
-
-open NNReal
+open scoped Pointwise Topology NNReal
 
 variable {V : Type*}
 
@@ -216,7 +214,7 @@ open Filter
 numbers that tends to `0`. Then the intersection of the dilated bodies `(1 + u n) • K` is equal
 to `K`. -/
 theorem iInter_smul_eq_self [T2Space V] {u : ℕ → ℝ≥0} (K : ConvexBody V) (h_zero : 0 ∈ K)
-    (hu : Tendsto u atTop (nhds 0)) :
+    (hu : Tendsto u atTop (𝓝 0)) :
     ⋂ n : ℕ, (1 + (u n : ℝ)) • (K : Set V) = K := by
   ext x
   refine ⟨fun h => ?_, fun h => ?_⟩
feat: Minkowski Convex Body Theorem for compact convex body (#8274)
Diff
@@ -87,6 +87,13 @@ theorem coe_mk (s : Set V) (h₁ h₂ h₃) : (mk s h₁ h₂ h₃ : Set V) = s
   rfl
 #align convex_body.coe_mk ConvexBody.coe_mk
 
+/-- A convex body that is symmetric contains `0`. -/
+theorem zero_mem_of_symmetric (K : ConvexBody V) (h_symm : ∀ x ∈ K, - x ∈ K) : 0 ∈ K := by
+  obtain ⟨x, hx⟩ := K.nonempty
+  rw [show 0 = (1/2 : ℝ) • x + (1/2 : ℝ) • (- x) by field_simp]
+  apply convex_iff_forall_pos.mp K.convex hx (h_symm x hx)
+  all_goals linarith
+
 section ContinuousAdd
 
 variable [ContinuousAdd V]
@@ -156,6 +163,18 @@ instance : Module ℝ≥0 (ConvexBody V) where
   add_smul c d K := SetLike.ext' <| Convex.add_smul K.convex c.coe_nonneg d.coe_nonneg
   zero_smul K := SetLike.ext' <| Set.zero_smul_set K.nonempty
 
+theorem smul_le_of_le (K : ConvexBody V) (h_zero : 0 ∈ K) {a b : ℝ≥0} (h : a ≤ b) :
+    a • K ≤ b • K := by
+  rw [← SetLike.coe_subset_coe, coe_smul', coe_smul']
+  by_cases ha : a = 0
+  · rw [ha, Set.zero_smul_set K.nonempty, Set.zero_subset]
+    exact Set.mem_smul_set.mpr ⟨0, h_zero, smul_zero _⟩
+  · intro x hx
+    obtain ⟨y, hy, rfl⟩ := Set.mem_smul_set.mp hx
+    rw [← Set.mem_inv_smul_set_iff₀ ha, smul_smul]
+    exact Convex.mem_smul_of_zero_mem K.convex h_zero hy
+      (by rwa [← NNReal.mul_le_iff_le_inv ha, mul_one] : 1 ≤ a⁻¹ * b)
+
 end TVS
 
 section SeminormedAddCommGroup
@@ -191,6 +210,32 @@ theorem hausdorffEdist_coe : EMetric.hausdorffEdist (K : Set V) L = edist K L :=
   exact (ENNReal.ofReal_toReal hausdorffEdist_ne_top).symm
 #align convex_body.Hausdorff_edist_coe ConvexBody.hausdorffEdist_coe
 
+open Filter
+
+/-- Let `K` be a convex body that contains `0` and let `u n` be a sequence of nonnegative real
+numbers that tends to `0`. Then the intersection of the dilated bodies `(1 + u n) • K` is equal
+to `K`. -/
+theorem iInter_smul_eq_self [T2Space V] {u : ℕ → ℝ≥0} (K : ConvexBody V) (h_zero : 0 ∈ K)
+    (hu : Tendsto u atTop (nhds 0)) :
+    ⋂ n : ℕ, (1 + (u n : ℝ)) • (K : Set V) = K := by
+  ext x
+  refine ⟨fun h => ?_, fun h => ?_⟩
+  · obtain ⟨C, hC_pos, hC_bdd⟩ := K.isBounded.exists_pos_norm_le
+    rw [← K.isClosed.closure_eq, SeminormedAddCommGroup.mem_closure_iff]
+    rw [← NNReal.tendsto_coe, NormedAddCommGroup.tendsto_atTop] at hu
+    intro ε hε
+    obtain ⟨n, hn⟩ := hu (ε / C) (div_pos hε hC_pos)
+    obtain ⟨y, hyK, rfl⟩ := Set.mem_smul_set.mp (Set.mem_iInter.mp h n)
+    refine ⟨y, hyK, ?_⟩
+    rw [show (1 + u n : ℝ) • y - y = (u n : ℝ) • y by rw [add_smul, one_smul, add_sub_cancel'],
+      norm_smul, Real.norm_eq_abs]
+    specialize hn n le_rfl
+    rw [_root_.lt_div_iff' hC_pos, mul_comm, NNReal.coe_zero, sub_zero, Real.norm_eq_abs] at hn
+    refine lt_of_le_of_lt ?_ hn
+    exact mul_le_mul_of_nonneg_left (hC_bdd _ hyK) (abs_nonneg _)
+  · refine Set.mem_iInter.mpr (fun n => Convex.mem_smul_of_zero_mem K.convex h_zero h ?_)
+    exact (le_add_iff_nonneg_right _).mpr (by positivity)
+
 end SeminormedAddCommGroup
 
 section NormedAddCommGroup
refactor(Topology/MetricSpace): remove Metric.Bounded (#7240)

Use Bornology.IsBounded instead.

Diff
@@ -162,13 +162,13 @@ section SeminormedAddCommGroup
 
 variable [SeminormedAddCommGroup V] [NormedSpace ℝ V] (K L : ConvexBody V)
 
-protected theorem bounded : Metric.Bounded (K : Set V) :=
-  K.isCompact.bounded
-#align convex_body.bounded ConvexBody.bounded
+protected theorem isBounded : Bornology.IsBounded (K : Set V) :=
+  K.isCompact.isBounded
+#align convex_body.bounded ConvexBody.isBounded
 
 theorem hausdorffEdist_ne_top {K L : ConvexBody V} : EMetric.hausdorffEdist (K : Set V) L ≠ ⊤ := by
   apply_rules [Metric.hausdorffEdist_ne_top_of_nonempty_of_bounded, ConvexBody.nonempty,
-    ConvexBody.bounded]
+    ConvexBody.isBounded]
 #align convex_body.Hausdorff_edist_ne_top ConvexBody.hausdorffEdist_ne_top
 
 /-- Convex bodies in a fixed seminormed space $V$ form a pseudo-metric space under the Hausdorff
style: fix wrapping of where (#7149)
Diff
@@ -132,8 +132,8 @@ end ContinuousAdd
 
 variable [ContinuousSMul ℝ V]
 
-instance : SMul ℝ (ConvexBody V)
-    where smul c K := ⟨c • (K : Set V), K.convex.smul _, K.isCompact.smul _, K.nonempty.smul_set⟩
+instance : SMul ℝ (ConvexBody V) where
+  smul c K := ⟨c • (K : Set V), K.convex.smul _, K.isCompact.smul _, K.nonempty.smul_set⟩
 
 @[simp] -- porting note: add norm_cast; we leave it out for now to reproduce mathlib3 behavior.
 theorem coe_smul (c : ℝ) (K : ConvexBody V) : (↑(c • K) : Set V) = c • (K : Set V) :=
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
@@ -36,12 +36,12 @@ open Pointwise
 
 open NNReal
 
-variable {V : Type _}
+variable {V : Type*}
 
 /-- Let `V` be a real topological vector space. A subset of `V` is a convex body if and only if
 it is convex, compact, and nonempty.
 -/
-structure ConvexBody (V : Type _) [TopologicalSpace V] [AddCommMonoid V] [SMul ℝ V] where
+structure ConvexBody (V : Type*) [TopologicalSpace V] [AddCommMonoid V] [SMul ℝ V] where
   carrier : Set V
   convex' : Convex ℝ carrier
   isCompact' : IsCompact carrier
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,16 +2,13 @@
 Copyright (c) 2022 Paul A. Reichert. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Paul A. Reichert
-
-! This file was ported from Lean 3 source module analysis.convex.body
-! leanprover-community/mathlib commit 858a10cf68fd6c06872950fc58c4dcc68d465591
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Convex.Basic
 import Mathlib.Analysis.NormedSpace.Basic
 import Mathlib.Topology.MetricSpace.HausdorffDistance
 
+#align_import analysis.convex.body from "leanprover-community/mathlib"@"858a10cf68fd6c06872950fc58c4dcc68d465591"
+
 /-!
 # Convex bodies
 
feat: port Analysis.Convex.Body (#3431)

Dependencies 10 + 626

627 files ported (98.4%)
275428 lines ported (98.1%)
Show graph

The unported dependencies are

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