Documentation

Mathlib.Analysis.Convex.Body

Convex bodies #

This file contains the definition of the type ConvexBody V consisting of convex, compact, nonempty subsets of a real topological vector space V.

ConvexBody V is a module over the nonnegative reals (NNReal) and a pseudo-metric space. If V is a normed space, ConvexBody V is a metric space.

TODO #

Tags #

convex, convex body

structure ConvexBody (V : Type u_2) [TopologicalSpace V] [AddCommMonoid V] [SMul ℝ V] :
Type u_2

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.

Instances For
    theorem ConvexBody.ext {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] {K : ConvexBody V} {L : ConvexBody V} (h : ↑K = ↑L) :
    K = L
    @[simp]
    theorem ConvexBody.coe_mk {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] (s : Set V) (h₁ : Convex ℝ s) (h₂ : IsCompact s) (h₃ : Set.Nonempty s) :
    ↑{ carrier := s, convex' := h₁, isCompact' := h₂, nonempty' := h₃ } = s
    theorem ConvexBody.zero_mem_of_symmetric {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] (K : ConvexBody V) (h_symm : ∀ x ∈ K, -x ∈ K) :
    0 ∈ K

    A convex body that is symmetric contains 0.

    theorem ConvexBody.coe_nsmul {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] [ContinuousAdd V] (n : ℕ) (K : ConvexBody V) :
    ↑(n • K) = n • ↑K
    @[simp]
    theorem ConvexBody.coe_add {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] [ContinuousAdd V] (K : ConvexBody V) (L : ConvexBody V) :
    ↑(K + L) = ↑K + ↑L
    @[simp]
    theorem ConvexBody.coe_zero {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] :
    ↑0 = 0
    @[simp]
    theorem ConvexBody.coe_smul {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] [ContinuousSMul ℝ V] (c : ℝ) (K : ConvexBody V) :
    ↑(c • K) = c • ↑K
    @[simp]
    theorem ConvexBody.coe_smul' {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] [ContinuousSMul ℝ V] [ContinuousAdd V] (c : NNReal) (K : ConvexBody V) :
    ↑(c • K) = c • ↑K
    theorem ConvexBody.smul_le_of_le {V : Type u_1} [TopologicalSpace V] [AddCommGroup V] [Module ℝ V] [ContinuousSMul ℝ V] [ContinuousAdd V] (K : ConvexBody V) (h_zero : 0 ∈ K) {a : NNReal} {b : NNReal} (h : a ≤ b) :
    a • K ≤ b • K
    theorem ConvexBody.iInter_smul_eq_self {V : Type u_1} [SeminormedAddCommGroup V] [NormedSpace ℝ V] [T2Space V] {u : ℕ → NNReal} (K : ConvexBody V) (h_zero : 0 ∈ K) (hu : Filter.Tendsto u Filter.atTop (nhds 0)) :
    ⋂ (n : ℕ), (1 + ↑(u n)) • ↑K = ↑K

    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.