# mathlib3documentation

analysis.convex.strict

# Strictly convex sets #

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

This file defines strictly convex sets.

A set is strictly convex if the open segment between any two distinct points lies in its interior.

def strict_convex (𝕜 : Type u_1) {E : Type u_3} [ E] (s : set E) :
Prop

A set is strictly convex if the open segment between any two distinct points lies is in its interior. This basically means "convex and not flat on the boundary".

Equations
theorem strict_convex_iff_open_segment_subset {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} :
s.pairwise (λ (x y : E), x y interior s)
theorem strict_convex.open_segment_subset {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} {x y : E} (hs : s) (hx : x s) (hy : y s) (h : x y) :
x y
theorem strict_convex_empty {𝕜 : Type u_1} {E : Type u_3} [ E] :
theorem strict_convex_univ {𝕜 : Type u_1} {E : Type u_3} [ E] :
@[protected]
theorem strict_convex.eq {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} {x y : E} {a b : 𝕜} (hs : s) (hx : x s) (hy : y s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (h : a x + b y ) :
x = y
@[protected]
theorem strict_convex.inter {𝕜 : Type u_1} {E : Type u_3} [ E] {s t : set E} (hs : s) (ht : t) :
(s t)
theorem directed.strict_convex_Union {𝕜 : Type u_1} {E : Type u_3} [ E] {ι : Sort u_2} {s : ι set E} (hdir : s) (hs : ⦃i : ι⦄, (s i)) :
( (i : ι), s i)
theorem directed_on.strict_convex_sUnion {𝕜 : Type u_1} {E : Type u_3} [ E] {S : set (set E)} (hdir : S) (hS : (s : set E), s S ) :
(⋃₀ S)
@[protected]
theorem strict_convex.convex {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (hs : s) :
s
@[protected]
theorem convex.strict_convex_of_open {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (h : is_open s) (hs : s) :

An open convex set is strictly convex.

theorem is_open.strict_convex_iff {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (h : is_open s) :
s
theorem strict_convex_singleton {𝕜 : Type u_1} {E : Type u_3} [ E] (c : E) :
{c}
theorem set.subsingleton.strict_convex {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (hs : s.subsingleton) :
theorem strict_convex.linear_image {𝕜 : Type u_1} {𝕝 : Type u_2} {E : Type u_3} {F : Type u_4} [ E] [ F] {s : set E} [semiring 𝕝] [ E] [ F] [ 𝕝] (hs : s) (f : E →ₗ[𝕝] F) (hf : is_open_map f) :
(f '' s)
theorem strict_convex.is_linear_image {𝕜 : Type u_1} {E : Type u_3} {F : Type u_4} [ E] [ F] {s : set E} (hs : s) {f : E F} (h : f) (hf : is_open_map f) :
(f '' s)
theorem strict_convex.linear_preimage {𝕜 : Type u_1} {E : Type u_3} {F : Type u_4} [ E] [ F] {s : set F} (hs : s) (f : E →ₗ[𝕜] F) (hf : continuous f) (hfinj : function.injective f) :
(f ⁻¹' s)
theorem strict_convex.is_linear_preimage {𝕜 : Type u_1} {E : Type u_3} {F : Type u_4} [ E] [ F] {s : set F} (hs : s) {f : E F} (h : f) (hf : continuous f) (hfinj : function.injective f) :
(f ⁻¹' s)
@[protected]
theorem set.ord_connected.strict_convex {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] {s : set β} (hs : s.ord_connected) :
theorem strict_convex_Iic {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r : β) :
(set.Iic r)
theorem strict_convex_Ici {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r : β) :
(set.Ici r)
theorem strict_convex_Iio {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r : β) :
(set.Iio r)
theorem strict_convex_Ioi {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r : β) :
(set.Ioi r)
theorem strict_convex_Icc {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r s : β) :
(set.Icc r s)
theorem strict_convex_Ioo {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r s : β) :
(set.Ioo r s)
theorem strict_convex_Ico {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r s : β) :
(set.Ico r s)
theorem strict_convex_Ioc {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r s : β) :
(set.Ioc r s)
theorem strict_convex_uIcc {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r s : β) :
(set.uIcc r s)
theorem strict_convex_uIoc {𝕜 : Type u_1} {β : Type u_5} [ β] [ β] (r s : β) :
(set.uIoc r s)
theorem strict_convex.preimage_add_right {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (hs : s) (z : E) :
((λ (x : E), z + x) ⁻¹' s)

The translation of a strictly convex set is also strictly convex.

theorem strict_convex.preimage_add_left {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (hs : s) (z : E) :
((λ (x : E), x + z) ⁻¹' s)

The translation of a strictly convex set is also strictly convex.

theorem strict_convex.add {𝕜 : Type u_1} {E : Type u_3} [ E] {s t : set E} (hs : s) (ht : t) :
(s + t)
theorem strict_convex.add_left {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (hs : s) (z : E) :
((λ (x : E), z + x) '' s)
theorem strict_convex.add_right {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (hs : s) (z : E) :
((λ (x : E), x + z) '' s)
theorem strict_convex.vadd {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (hs : s) (x : E) :
(x +ᵥ s)

The translation of a strictly convex set is also strictly convex.

theorem strict_convex.smul {𝕜 : Type u_1} {𝕝 : Type u_2} {E : Type u_3} [ E] [ E] [ 𝕝] {s : set E} (hs : s) (c : 𝕝) :
(c s)
theorem strict_convex.affinity {𝕜 : Type u_1} {𝕝 : Type u_2} {E : Type u_3} [ E] [ E] [ 𝕝] {s : set E} (hs : s) (z : E) (c : 𝕝) :
(z +ᵥ c s)
theorem strict_convex.preimage_smul {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} (hs : s) (c : 𝕜) :
((λ (z : E), c z) ⁻¹' s)
theorem strict_convex.eq_of_open_segment_subset_frontier {𝕜 : Type u_1} {E : Type u_3} [ordered_ring 𝕜] [ E] {s : set E} {x y : E} [nontrivial 𝕜] (hs : s) (hx : x s) (hy : y s) (h : x y ) :
x = y
theorem strict_convex.add_smul_mem {𝕜 : Type u_1} {E : Type u_3} [ordered_ring 𝕜] [ E] {s : set E} {x y : E} (hs : s) (hx : x s) (hxy : x + y s) (hy : y 0) {t : 𝕜} (ht₀ : 0 < t) (ht₁ : t < 1) :
x + t y
theorem strict_convex.smul_mem_of_zero_mem {𝕜 : Type u_1} {E : Type u_3} [ordered_ring 𝕜] [ E] {s : set E} {x : E} (hs : s) (zero_mem : 0 s) (hx : x s) (hx₀ : x 0) {t : 𝕜} (ht₀ : 0 < t) (ht₁ : t < 1) :
t x
theorem strict_convex.add_smul_sub_mem {𝕜 : Type u_1} {E : Type u_3} [ordered_ring 𝕜] [ E] {s : set E} {x y : E} (h : s) (hx : x s) (hy : y s) (hxy : x y) {t : 𝕜} (ht₀ : 0 < t) (ht₁ : t < 1) :
x + t (y - x)
theorem strict_convex.affine_preimage {𝕜 : Type u_1} {E : Type u_3} {F : Type u_4} [ordered_ring 𝕜] [ E] [ F] {s : set F} (hs : s) {f : E →ᵃ[𝕜] F} (hf : continuous f) (hfinj : function.injective f) :
(f ⁻¹' s)

The preimage of a strictly convex set under an affine map is strictly convex.

theorem strict_convex.affine_image {𝕜 : Type u_1} {E : Type u_3} {F : Type u_4} [ordered_ring 𝕜] [ E] [ F] {s : set E} (hs : s) {f : E →ᵃ[𝕜] F} (hf : is_open_map f) :
(f '' s)

The image of a strictly convex set under an affine map is strictly convex.

theorem strict_convex.neg {𝕜 : Type u_1} {E : Type u_3} [ordered_ring 𝕜] [ E] {s : set E} (hs : s) :
(-s)
theorem strict_convex.sub {𝕜 : Type u_1} {E : Type u_3} [ordered_ring 𝕜] [ E] {s t : set E} (hs : s) (ht : t) :
(s - t)
theorem strict_convex_iff_div {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} :
s.pairwise (λ (x y : E), ⦃a b : 𝕜⦄, 0 < a 0 < b (a / (a + b)) x + (b / (a + b)) y interior s)

Alternative definition of set strict convexity, using division.

theorem strict_convex.mem_smul_of_zero_mem {𝕜 : Type u_1} {E : Type u_3} [ E] {s : set E} {x : E} (hs : s) (zero_mem : 0 s) (hx : x s) (hx₀ : x 0) {t : 𝕜} (ht : 1 < t) :
x t

#### Convex sets in an ordered space #

Relates convex and set.ord_connected.

@[simp]
theorem strict_convex_iff_convex {𝕜 : Type u_1} {s : set 𝕜} :
s

A set in a linear ordered field is strictly convex if and only if it is convex.

theorem strict_convex_iff_ord_connected {𝕜 : Type u_1} {s : set 𝕜} :
theorem strict_convex.ord_connected {𝕜 : Type u_1} {s : set 𝕜} :

Alias of the forward direction of strict_convex_iff_ord_connected.