Documentation

Mathlib.Analysis.Convex.Strict

Strictly convex sets #

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 StrictConvex (π•œ : Type u_6) {E : Type u_7} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] (s : Set E) :

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
Instances For
    theorem strictConvex_iff_openSegment_subset {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] {s : Set E} :
    StrictConvex π•œ s ↔ s.Pairwise fun (x y : E) => openSegment π•œ x y βŠ† interior s
    theorem StrictConvex.openSegment_subset {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] {s : Set E} {x y : E} (hs : StrictConvex π•œ s) (hx : x ∈ s) (hy : y ∈ s) (h : x β‰  y) :
    openSegment π•œ x y βŠ† interior s
    theorem strictConvex_empty {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] :
    theorem strictConvex_univ {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] :
    theorem StrictConvex.eq {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] {s : Set E} {x y : E} {a b : π•œ} (hs : StrictConvex π•œ s) (hx : x ∈ s) (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (h : a β€’ x + b β€’ y βˆ‰ interior s) :
    x = y
    theorem StrictConvex.inter {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] {s t : Set E} (hs : StrictConvex π•œ s) (ht : StrictConvex π•œ t) :
    StrictConvex π•œ (s ∩ t)
    theorem Directed.strictConvex_iUnion {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] {ΞΉ : Sort u_6} {s : ΞΉ β†’ Set E} (hdir : Directed (fun (x1 x2 : Set E) => x1 βŠ† x2) s) (hs : βˆ€ ⦃i : ι⦄, StrictConvex π•œ (s i)) :
    StrictConvex π•œ (⋃ (i : ΞΉ), s i)
    theorem DirectedOn.strictConvex_sUnion {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [SMul π•œ E] {S : Set (Set E)} (hdir : DirectedOn (fun (x1 x2 : Set E) => x1 βŠ† x2) S) (hS : βˆ€ s ∈ S, StrictConvex π•œ s) :
    theorem StrictConvex.convex {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [Module π•œ E] {s : Set E} (hs : StrictConvex π•œ s) :
    Convex π•œ s
    theorem Convex.strictConvex_of_isOpen {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [Module π•œ E] {s : Set E} (h : IsOpen s) (hs : Convex π•œ s) :
    StrictConvex π•œ s

    An open convex set is strictly convex.

    theorem IsOpen.strictConvex_iff {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [Module π•œ E] {s : Set E} (h : IsOpen s) :
    StrictConvex π•œ s ↔ Convex π•œ s
    theorem strictConvex_singleton {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [Module π•œ E] (c : E) :
    StrictConvex π•œ {c}
    theorem Set.Subsingleton.strictConvex {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommMonoid E] [Module π•œ E] {s : Set E} (hs : s.Subsingleton) :
    StrictConvex π•œ s
    theorem StrictConvex.linear_image {π•œ : Type u_1} {𝕝 : Type u_2} {E : Type u_3} {F : Type u_4} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [TopologicalSpace F] [AddCommMonoid E] [AddCommMonoid F] [Module π•œ E] [Module π•œ F] {s : Set E} [Semiring 𝕝] [Module 𝕝 E] [Module 𝕝 F] [LinearMap.CompatibleSMul E F π•œ 𝕝] (hs : StrictConvex π•œ s) (f : E β†’β‚—[𝕝] F) (hf : IsOpenMap ⇑f) :
    StrictConvex π•œ (⇑f '' s)
    theorem StrictConvex.is_linear_image {π•œ : Type u_1} {E : Type u_3} {F : Type u_4} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [TopologicalSpace F] [AddCommMonoid E] [AddCommMonoid F] [Module π•œ E] [Module π•œ F] {s : Set E} (hs : StrictConvex π•œ s) {f : E β†’ F} (h : IsLinearMap π•œ f) (hf : IsOpenMap f) :
    StrictConvex π•œ (f '' s)
    theorem StrictConvex.linear_preimage {π•œ : Type u_1} {E : Type u_3} {F : Type u_4} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [TopologicalSpace F] [AddCommMonoid E] [AddCommMonoid F] [Module π•œ E] [Module π•œ F] {s : Set F} (hs : StrictConvex π•œ s) (f : E β†’β‚—[π•œ] F) (hf : Continuous ⇑f) (hfinj : Function.Injective ⇑f) :
    StrictConvex π•œ (⇑f ⁻¹' s)
    theorem StrictConvex.is_linear_preimage {π•œ : Type u_1} {E : Type u_3} {F : Type u_4} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [TopologicalSpace F] [AddCommMonoid E] [AddCommMonoid F] [Module π•œ E] [Module π•œ F] {s : Set F} (hs : StrictConvex π•œ s) {f : E β†’ F} (h : IsLinearMap π•œ f) (hf : Continuous f) (hfinj : Function.Injective f) :
    StrictConvex π•œ (f ⁻¹' s)
    theorem Set.OrdConnected.strictConvex {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] {s : Set Ξ²} (hs : s.OrdConnected) :
    StrictConvex π•œ s
    theorem strictConvex_Iic {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r : Ξ²) :
    StrictConvex π•œ (Set.Iic r)
    theorem strictConvex_Ici {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r : Ξ²) :
    StrictConvex π•œ (Set.Ici r)
    theorem strictConvex_Iio {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r : Ξ²) :
    StrictConvex π•œ (Set.Iio r)
    theorem strictConvex_Ioi {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r : Ξ²) :
    StrictConvex π•œ (Set.Ioi r)
    theorem strictConvex_Icc {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r s : Ξ²) :
    StrictConvex π•œ (Set.Icc r s)
    theorem strictConvex_Ioo {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r s : Ξ²) :
    StrictConvex π•œ (Set.Ioo r s)
    theorem strictConvex_Ico {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r s : Ξ²) :
    StrictConvex π•œ (Set.Ico r s)
    theorem strictConvex_Ioc {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r s : Ξ²) :
    StrictConvex π•œ (Set.Ioc r s)
    theorem strictConvex_uIcc {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r s : Ξ²) :
    StrictConvex π•œ (Set.uIcc r s)
    theorem strictConvex_uIoc {π•œ : Type u_1} {Ξ² : Type u_5} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace Ξ²] [AddCommMonoid Ξ²] [LinearOrder Ξ²] [IsOrderedCancelAddMonoid Ξ²] [OrderTopology Ξ²] [Module π•œ Ξ²] [PosSMulStrictMono π•œ Ξ²] (r s : Ξ²) :
    StrictConvex π•œ (Set.uIoc r s)
    theorem StrictConvex.preimage_add_right {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCancelCommMonoid E] [ContinuousAdd E] [Module π•œ E] {s : Set E} (hs : StrictConvex π•œ s) (z : E) :
    StrictConvex π•œ ((fun (x : E) => z + x) ⁻¹' s)

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

    theorem StrictConvex.preimage_add_left {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCancelCommMonoid E] [ContinuousAdd E] [Module π•œ E] {s : Set E} (hs : StrictConvex π•œ s) (z : E) :
    StrictConvex π•œ ((fun (x : E) => x + z) ⁻¹' s)

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

    theorem StrictConvex.add {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] [ContinuousAdd E] {s t : Set E} (hs : StrictConvex π•œ s) (ht : StrictConvex π•œ t) :
    StrictConvex π•œ (s + t)
    theorem StrictConvex.add_left {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] [ContinuousAdd E] {s : Set E} (hs : StrictConvex π•œ s) (z : E) :
    StrictConvex π•œ ((fun (x : E) => z + x) '' s)
    theorem StrictConvex.add_right {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] [ContinuousAdd E] {s : Set E} (hs : StrictConvex π•œ s) (z : E) :
    StrictConvex π•œ ((fun (x : E) => x + z) '' s)
    theorem StrictConvex.vadd {π•œ : Type u_1} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] [ContinuousAdd E] {s : Set E} (hs : StrictConvex π•œ s) (x : E) :
    StrictConvex π•œ (x +α΅₯ s)

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

    theorem StrictConvex.smul {π•œ : Type u_1} {𝕝 : Type u_2} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] [Field 𝕝] [Module 𝕝 E] [ContinuousConstSMul 𝕝 E] [LinearMap.CompatibleSMul E E π•œ 𝕝] {s : Set E} (hs : StrictConvex π•œ s) (c : 𝕝) :
    StrictConvex π•œ (c β€’ s)
    theorem StrictConvex.affinity {π•œ : Type u_1} {𝕝 : Type u_2} {E : Type u_3} [Semiring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] [Field 𝕝] [Module 𝕝 E] [ContinuousConstSMul 𝕝 E] [LinearMap.CompatibleSMul E E π•œ 𝕝] {s : Set E} [ContinuousAdd E] (hs : StrictConvex π•œ s) (z : E) (c : 𝕝) :
    StrictConvex π•œ (z +α΅₯ c β€’ s)
    theorem StrictConvex.preimage_smul {π•œ : Type u_1} {E : Type u_3} [CommSemiring π•œ] [IsDomain π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] [Module.IsTorsionFree π•œ E] [ContinuousConstSMul π•œ E] {s : Set E} (hs : StrictConvex π•œ s) (c : π•œ) :
    StrictConvex π•œ ((fun (z : E) => c β€’ z) ⁻¹' s)
    theorem StrictConvex.eq_of_openSegment_subset_frontier {π•œ : Type u_1} {E : Type u_3} [Ring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] {s : Set E} {x y : E} [IsOrderedRing π•œ] [Nontrivial π•œ] [DenselyOrdered π•œ] (hs : StrictConvex π•œ s) (hx : x ∈ s) (hy : y ∈ s) (h : openSegment π•œ x y βŠ† frontier s) :
    x = y
    theorem StrictConvex.add_smul_mem {π•œ : Type u_1} {E : Type u_3} [Ring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] {s : Set E} {x y : E} [AddRightStrictMono π•œ] (hs : StrictConvex π•œ s) (hx : x ∈ s) (hxy : x + y ∈ s) (hy : y β‰  0) {t : π•œ} (htβ‚€ : 0 < t) (ht₁ : t < 1) :
    theorem StrictConvex.smul_mem_of_zero_mem {π•œ : Type u_1} {E : Type u_3} [Ring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] {s : Set E} {x : E} [AddRightStrictMono π•œ] (hs : StrictConvex π•œ s) (zero_mem : 0 ∈ s) (hx : x ∈ s) (hxβ‚€ : x β‰  0) {t : π•œ} (htβ‚€ : 0 < t) (ht₁ : t < 1) :
    theorem StrictConvex.add_smul_sub_mem {π•œ : Type u_1} {E : Type u_3} [Ring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] {s : Set E} {x y : E} [AddRightMono π•œ] (h : StrictConvex π•œ s) (hx : x ∈ s) (hy : y ∈ s) (hxy : x β‰  y) {t : π•œ} (htβ‚€ : 0 < t) (ht₁ : t < 1) :
    x + t β€’ (y - x) ∈ interior s
    theorem StrictConvex.affine_preimage {π•œ : Type u_1} {E : Type u_3} {F : Type u_4} [Ring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [TopologicalSpace F] [AddCommGroup E] [AddCommGroup F] [Module π•œ E] [Module π•œ F] {s : Set F} (hs : StrictConvex π•œ s) {f : E →ᡃ[π•œ] F} (hf : Continuous ⇑f) (hfinj : Function.Injective ⇑f) :
    StrictConvex π•œ (⇑f ⁻¹' s)

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

    theorem StrictConvex.affine_image {π•œ : Type u_1} {E : Type u_3} {F : Type u_4} [Ring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [TopologicalSpace F] [AddCommGroup E] [AddCommGroup F] [Module π•œ E] [Module π•œ F] {s : Set E} (hs : StrictConvex π•œ s) {f : E →ᡃ[π•œ] F} (hf : IsOpenMap ⇑f) :
    StrictConvex π•œ (⇑f '' s)

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

    theorem StrictConvex.neg {π•œ : Type u_1} {E : Type u_3} [Ring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] {s : Set E} [IsTopologicalAddGroup E] (hs : StrictConvex π•œ s) :
    StrictConvex π•œ (-s)
    theorem StrictConvex.sub {π•œ : Type u_1} {E : Type u_3} [Ring π•œ] [PartialOrder π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] {s t : Set E} [IsTopologicalAddGroup E] (hs : StrictConvex π•œ s) (ht : StrictConvex π•œ t) :
    StrictConvex π•œ (s - t)
    theorem strictConvex_iff_div {π•œ : Type u_1} {E : Type u_3} [Field π•œ] [LinearOrder π•œ] [IsStrictOrderedRing π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] {s : Set E} :
    StrictConvex π•œ s ↔ s.Pairwise fun (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 StrictConvex.mem_smul_of_zero_mem {π•œ : Type u_1} {E : Type u_3} [Field π•œ] [LinearOrder π•œ] [IsStrictOrderedRing π•œ] [TopologicalSpace E] [AddCommGroup E] [Module π•œ E] {s : Set E} {x : E} (hs : StrictConvex π•œ s) (zero_mem : 0 ∈ s) (hx : x ∈ s) (hxβ‚€ : x β‰  0) {t : π•œ} (ht : 1 < t) :

    Convex sets in an ordered space #

    Relates Convex and Set.OrdConnected.

    @[simp]
    theorem strictConvex_iff_convex {π•œ : Type u_1} [Field π•œ] [LinearOrder π•œ] [IsStrictOrderedRing π•œ] [TopologicalSpace π•œ] [OrderTopology π•œ] {s : Set π•œ} :
    StrictConvex π•œ s ↔ Convex π•œ s

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

    theorem strictConvex_iff_ordConnected {π•œ : Type u_1} [Field π•œ] [LinearOrder π•œ] [IsStrictOrderedRing π•œ] [TopologicalSpace π•œ] [OrderTopology π•œ] {s : Set π•œ} :
    theorem StrictConvex.ordConnected {π•œ : Type u_1} [Field π•œ] [LinearOrder π•œ] [IsStrictOrderedRing π•œ] [TopologicalSpace π•œ] [OrderTopology π•œ] {s : Set π•œ} :
    StrictConvex π•œ s β†’ s.OrdConnected

    Alias of the forward direction of strictConvex_iff_ordConnected.