# mathlib3documentation

analysis.convex.topology

# Topological properties of convex sets #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

We prove the following facts:

• convex.interior : interior of a convex set is convex;
• convex.closure : closure of a convex set is convex;
• set.finite.compact_convex_hull : convex hull of a finite set is compact;
• set.finite.is_closed_convex_hull : convex hull of a finite set is closed.
theorem is_preconnected.convex {s : set } :

Alias of the reverse direction of real.convex_iff_is_preconnected.

### Standard simplex #

theorem std_simplex_subset_closed_ball {ι : Type u_1} [fintype ι] :

Every vector in std_simplex 𝕜 ι has max-norm at most 1.

theorem bounded_std_simplex (ι : Type u_1) [fintype ι] :

std_simplex ℝ ι is bounded.

theorem is_closed_std_simplex (ι : Type u_1) [fintype ι] :

std_simplex ℝ ι is closed.

theorem is_compact_std_simplex (ι : Type u_1) [fintype ι] :

std_simplex ℝ ι is compact.

### Topological vector space #

theorem segment_subset_closure_open_segment {𝕜 : Type u_2} {E : Type u_3} [ E] [ E] {x y : E} :
x y closure x y)
@[simp]
theorem closure_open_segment {𝕜 : Type u_2} {E : Type u_3} [proper_space 𝕜] [t2_space E] [ E] [ E] (x y : E) :
closure x y) = x y
theorem convex.combo_interior_closure_subset_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {a b : 𝕜} (ha : 0 < a) (hb : 0 b) (hab : a + b = 1) :
a + b

If s is a convex set, then a • interior s + b • closure s ⊆ interior s for all 0 < a, 0 ≤ b, a + b = 1. See also convex.combo_interior_self_subset_interior for a weaker version.

theorem convex.combo_interior_self_subset_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {a b : 𝕜} (ha : 0 < a) (hb : 0 b) (hab : a + b = 1) :
a + b s

If s is a convex set, then a • interior s + b • s ⊆ interior s for all 0 < a, 0 ≤ b, a + b = 1. See also convex.combo_interior_closure_subset_interior for a stronger version.

theorem convex.combo_closure_interior_subset_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {a b : 𝕜} (ha : 0 a) (hb : 0 < b) (hab : a + b = 1) :
a + b

If s is a convex set, then a • closure s + b • interior s ⊆ interior s for all 0 ≤ a, 0 < b, a + b = 1. See also convex.combo_self_interior_subset_interior for a weaker version.

theorem convex.combo_self_interior_subset_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {a b : 𝕜} (ha : 0 a) (hb : 0 < b) (hab : a + b = 1) :
a s + b

If s is a convex set, then a • s + b • interior s ⊆ interior s for all 0 ≤ a, 0 < b, a + b = 1. See also convex.combo_closure_interior_subset_interior for a stronger version.

theorem convex.combo_interior_closure_mem_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x ) (hy : y ) {a b : 𝕜} (ha : 0 < a) (hb : 0 b) (hab : a + b = 1) :
a x + b y
theorem convex.combo_interior_self_mem_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x ) (hy : y s) {a b : 𝕜} (ha : 0 < a) (hb : 0 b) (hab : a + b = 1) :
a x + b y
theorem convex.combo_closure_interior_mem_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x ) (hy : y ) {a b : 𝕜} (ha : 0 a) (hb : 0 < b) (hab : a + b = 1) :
a x + b y
theorem convex.combo_self_interior_mem_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x s) (hy : y ) {a b : 𝕜} (ha : 0 a) (hb : 0 < b) (hab : a + b = 1) :
a x + b y
theorem convex.open_segment_interior_closure_subset_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x ) (hy : y ) :
x y
theorem convex.open_segment_interior_self_subset_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x ) (hy : y s) :
x y
theorem convex.open_segment_closure_interior_subset_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x ) (hy : y ) :
x y
theorem convex.open_segment_self_interior_subset_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x s) (hy : y ) :
x y
theorem convex.add_smul_sub_mem_interior' {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x ) (hy : y ) {t : 𝕜} (ht : t 1) :
x + t (y - x)

If x ∈ closure s and y ∈ interior s, then the segment (x, y] is included in interior s.

theorem convex.add_smul_sub_mem_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x s) (hy : y ) {t : 𝕜} (ht : t 1) :
x + t (y - x)

If x ∈ s and y ∈ interior s, then the segment (x, y] is included in interior s.

theorem convex.add_smul_mem_interior' {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x ) (hy : x + y ) {t : 𝕜} (ht : t 1) :
x + t y

If x ∈ closure s and x + y ∈ interior s, then x + t y ∈ interior s for t ∈ (0, 1].

theorem convex.add_smul_mem_interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) {x y : E} (hx : x s) (hy : x + y ) {t : 𝕜} (ht : t 1) :
x + t y

If x ∈ s and x + y ∈ interior s, then x + t y ∈ interior s for t ∈ (0, 1].

@[protected]
theorem convex.interior {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) :

In a topological vector space, the interior of a convex set is convex.

@[protected]
theorem convex.closure {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) :
(closure s)

In a topological vector space, the closure of a convex set is convex.

@[protected]
theorem convex.strict_convex' {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) (h : (s \ interior s).pairwise (λ (x y : E), (c : 𝕜), y) c interior s)) :

A convex set s is strictly convex provided that for any two distinct points of s \ interior s, the line passing through these points has nonempty intersection with interior s.

@[protected]
theorem convex.strict_convex {𝕜 : Type u_2} {E : Type u_3} [ E] {s : set E} (hs : s) (h : (s \ interior s).pairwise (λ (x y : E), (segment 𝕜 x y \ frontier s).nonempty)) :

A convex set s is strictly convex provided that for any two distinct points x, y of s \ interior s, the segment with endpoints x, y has nonempty intersection with interior s.

theorem set.finite.compact_convex_hull {E : Type u_3} [ E] {s : set E} (hs : s.finite) :

Convex hull of a finite set is compact.

theorem set.finite.is_closed_convex_hull {E : Type u_3} [ E] [t2_space E] {s : set E} (hs : s.finite) :

Convex hull of a finite set is closed.

theorem convex.closure_subset_image_homothety_interior_of_one_lt {E : Type u_3} [ E] {s : set E} (hs : s) {x : E} (hx : x ) (t : ) (ht : 1 < t) :
t) ''

If we dilate the interior of a convex set about a point in its interior by a scale t > 1, the result includes the closure of the original set.

TODO Generalise this from convex sets to sets that are balanced / star-shaped about x.

theorem convex.closure_subset_interior_image_homothety_of_one_lt {E : Type u_3} [ E] {s : set E} (hs : s) {x : E} (hx : x ) (t : ) (ht : 1 < t) :
interior ( t) '' s)

If we dilate a convex set about a point in its interior by a scale t > 1, the interior of the result includes the closure of the original set.

TODO Generalise this from convex sets to sets that are balanced / star-shaped about x.

theorem convex.subset_interior_image_homothety_of_one_lt {E : Type u_3} [ E] {s : set E} (hs : s) {x : E} (hx : x ) (t : ) (ht : 1 < t) :
s interior ( t) '' s)

If we dilate a convex set about a point in its interior by a scale t > 1, the interior of the result includes the closure of the original set.

TODO Generalise this from convex sets to sets that are balanced / star-shaped about x.

@[protected]
theorem convex.is_path_connected {E : Type u_3} [ E] {s : set E} (hconv : s) (hne : s.nonempty) :

A nonempty convex set is path connected.

@[protected]
theorem convex.is_connected {E : Type u_3} [ E] {s : set E} (h : s) (hne : s.nonempty) :

A nonempty convex set is connected.

@[protected]
theorem convex.is_preconnected {E : Type u_3} [ E] {s : set E} (h : s) :

A convex set is preconnected.

@[protected]
theorem topological_add_group.path_connected {E : Type u_3} [ E]  :

Every topological vector space over ℝ is path connected.

Not an instance, because it creates enormous TC subproblems (turn on pp.all).