File: Mathlib/Analysis/Convex/Body.lean

full_name: ConvexBody.carrier
code: /-- 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
  /-- The **carrier set** underlying a convex body: the set of points contained in it -/
  carrier : Set V
  /-- A convex body has convex carrier set -/
  convex' : Convex ℝ carrier
  /-- A convex body has compact carrier set -/
  isCompact' : IsCompact carrier
  /-- A convex body has non-empty carrier set -/
  nonempty' : carrier.Nonempty
goal: Set V

full_name: ConvexBody.isCompact'
code: /-- 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
  /-- The **carrier set** underlying a convex body: the set of points contained in it -/
  carrier : Set V
  /-- A convex body has convex carrier set -/
  convex' : Convex ℝ carrier
  /-- A convex body has compact carrier set -/
  isCompact' : IsCompact carrier
  /-- A convex body has non-empty carrier set -/
  nonempty' : carrier.Nonempty
goal: IsCompact self.carrier

full_name: ConvexBody.convex'
code: /-- 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
  /-- The **carrier set** underlying a convex body: the set of points contained in it -/
  carrier : Set V
  /-- A convex body has convex carrier set -/
  convex' : Convex ℝ carrier
  /-- A convex body has compact carrier set -/
  isCompact' : IsCompact carrier
  /-- A convex body has non-empty carrier set -/
  nonempty' : carrier.Nonempty
goal: Convex ℝ self.carrier

full_name: ConvexBody.nonempty'
code: /-- 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
  /-- The **carrier set** underlying a convex body: the set of points contained in it -/
  carrier : Set V
  /-- A convex body has convex carrier set -/
  convex' : Convex ℝ carrier
  /-- A convex body has compact carrier set -/
  isCompact' : IsCompact carrier
  /-- A convex body has non-empty carrier set -/
  nonempty' : carrier.Nonempty
goal: self.carrier.Nonempty

full_name: ConvexBody
code: /-- 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
  /-- The **carrier set** underlying a convex body: the set of points contained in it -/
  carrier : Set V
  /-- A convex body has convex carrier set -/
  convex' : Convex ℝ carrier
  /-- A convex body has compact carrier set -/
  isCompact' : IsCompact carrier
  /-- A convex body has non-empty carrier set -/
  nonempty' : carrier.Nonempty
goal: Type u_2

full_name: ConvexBody.instSetLike
code: instance : SetLike (ConvexBody V) V 
goal: SetLike (ConvexBody V) V

full_name: ConvexBody.convex
code: protected theorem convex (K : ConvexBody V) : Convex ℝ (K : Set V) 
goal: Convex ℝ ↑K

full_name: ConvexBody.isCompact
code: protected theorem isCompact (K : ConvexBody V) : IsCompact (K : Set V) 
goal: IsCompact ↑K

full_name: ConvexBody.isClosed
code: protected theorem isClosed [T2Space V] (K : ConvexBody V) : IsClosed (K : Set V) 
goal: IsClosed ↑K

full_name: ConvexBody.nonempty
code: protected theorem nonempty (K : ConvexBody V) : (K : Set V).Nonempty 
goal: (↑K).Nonempty

full_name: ConvexBody.ext
code: @[ext]
protected theorem ext {K L : ConvexBody V} (h : (K : Set V) = L) : K = L 
goal: K = L

full_name: ConvexBody.coe_mk
code: @[simp]
theorem coe_mk (s : Set V) (h₁ h₂ h₃) : (mk s h₁ h₂ h₃ : Set V) = s 
goal: ↑{ carrier := s, convex' := h₁, isCompact' := h₂, nonempty' := h₃ } = s

full_name: ConvexBody.zero_mem_of_symmetric
code: /-- A convex body that is symmetric contains `0`. -/
theorem zero_mem_of_symmetric (K : ConvexBody V) (h_symm : ∀ x ∈ K, - x ∈ K) : 0 ∈ K 
goal: 0 ∈ K

full_name: ConvexBody.instAdd
code: instance : Add (ConvexBody V) 
goal: Add (ConvexBody V)

full_name: ConvexBody.instZero
code: instance : Zero (ConvexBody V) 
goal: Zero (ConvexBody V)

full_name: ConvexBody.instSMulNat
code: instance : SMul ℕ (ConvexBody V) 
goal: SMul ℕ (ConvexBody V)

full_name: ConvexBody.coe_nsmul
code: theorem coe_nsmul : ∀ (n : ℕ) (K : ConvexBody V), ↑(n • K) = n • (K : Set V)
  
goal: ↑(n • K) = n • ↑K

full_name: ConvexBody.instAddMonoid
code: instance : AddMonoid (ConvexBody V) 
goal: AddMonoid (ConvexBody V)

full_name: ConvexBody.coe_add
code: @[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 
goal: ↑(K + L) = ↑K + ↑L

full_name: ConvexBody.coe_zero
code: @[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 
goal: ↑0 = 0

full_name: ConvexBody.instInhabited
code: instance : Inhabited (ConvexBody V) 
goal: Inhabited (ConvexBody V)

full_name: ConvexBody.instAddCommMonoid
code: instance : AddCommMonoid (ConvexBody V) 
goal: AddCommMonoid (ConvexBody V)

full_name: ConvexBody.instSMulReal
code: instance : SMul ℝ (ConvexBody V) 
goal: SMul ℝ (ConvexBody V)

full_name: ConvexBody.coe_smul
code: @[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) 
goal: ↑(c • K) = c • ↑K

full_name: ConvexBody.instDistribMulActionReal
code: instance : DistribMulAction ℝ (ConvexBody V) 
goal: DistribMulAction ℝ (ConvexBody V)

full_name: ConvexBody.coe_smul'
code: @[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) 
goal: ↑(c • K) = c • ↑K

full_name: ConvexBody.instModuleNNReal
code: /-- The convex bodies in a fixed space $V$ form a module over the nonnegative reals.
-/
instance : Module ℝ≥0 (ConvexBody V) 
goal: Module ℝ≥0 (ConvexBody V)

full_name: ConvexBody.smul_le_of_le
code: theorem smul_le_of_le (K : ConvexBody V) (h_zero : 0 ∈ K) {a b : ℝ≥0} (h : a ≤ b) :
    a • K ≤ b • K 
goal: a • K ≤ b • K

full_name: ConvexBody.isBounded
code: protected theorem isBounded : Bornology.IsBounded (K : Set V) 
goal: Bornology.IsBounded ↑K

full_name: ConvexBody.hausdorffEdist_ne_top
code: theorem hausdorffEdist_ne_top {K L : ConvexBody V} : EMetric.hausdorffEdist (K : Set V) L ≠ ⊤ 
goal: EMetric.hausdorffEdist ↑K ↑L ≠ ⊤

full_name: ConvexBody.instPseudoMetricSpace
code: /-- Convex bodies in a fixed seminormed space $V$ form a pseudo-metric space under the Hausdorff
metric. -/
noncomputable instance : PseudoMetricSpace (ConvexBody V) 
goal: PseudoMetricSpace (ConvexBody V)

full_name: ConvexBody.hausdorffDist_coe
code: @[simp, norm_cast]
theorem hausdorffDist_coe : Metric.hausdorffDist (K : Set V) L = dist K L 
goal: Metric.hausdorffDist ↑K ↑L = dist K L

full_name: ConvexBody.hausdorffEdist_coe
code: @[simp, norm_cast]
theorem hausdorffEdist_coe : EMetric.hausdorffEdist (K : Set V) L = edist K L 
goal: EMetric.hausdorffEdist ↑K ↑L = edist K L

full_name: ConvexBody.iInter_smul_eq_self
code: /-- 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 (𝓝 0)) :
    ⋂ n : ℕ, (1 + (u n : ℝ)) • (K : Set V) = K 
goal: ⋂ n, (1 + ↑(u n)) • ↑K = ↑K

full_name: ConvexBody.instMetricSpace
code: /-- Convex bodies in a fixed normed space `V` form a metric space under the Hausdorff metric. -/
noncomputable instance : MetricSpace (ConvexBody V) 
goal: MetricSpace (ConvexBody V)