analysis.convex.body
⟷
Mathlib.Analysis.Convex.Body
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -38,9 +38,9 @@ convex, convex body
-/
-open Pointwise
+open scoped Pointwise
-open NNReal
+open scoped NNReal
variable {V : Type _}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/cd8fafa2fac98e1a67097e8a91ad9901cfde48af
@@ -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`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/4f4a1c875d0baa92ab5d92f3fb1bb258ad9f3e5b
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/5ec62c8106221a3f9160e4e4fcc3eed79fe213e9
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/271bf175e6c51b8d31d6c0107b7bb4a967c7277e
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
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 notnpowRec n x * x
in the definition to make sure that definitional unfolding ofnpowRec
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.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
.@@ -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 _ _
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 | |
@@ -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
@@ -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
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -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'
@@ -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
Also fix GeneralizedContinuedFraction.of_convergence
:
it worked for the Preorder.topology
only.
@@ -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 => ?_⟩
@@ -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
Metric.Bounded
(#7240)
Use Bornology.IsBounded
instead.
@@ -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
@@ -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) :=
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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
@@ -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
The unported dependencies are
algebra.order.module
init.core
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file