Documentation

Mathlib.Analysis.Convex.Topology

Topological properties of convex sets #

We prove the following facts:

theorem Real.closedBall_eq_segment {r ฮต : โ„} (hฮต : 0 โ‰ค ฮต) :
Metric.closedBall r ฮต = segment โ„ (r - ฮต) (r + ฮต)
theorem Real.ball_eq_openSegment {r ฮต : โ„} (hฮต : 0 < ฮต) :
Metric.ball r ฮต = openSegment โ„ (r - ฮต) (r + ฮต)

Topological vector spaces #

theorem segment_subset_closure_openSegment {๐•œ : Type u_2} {E : Type u_3} [Ring ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [DenselyOrdered ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] [AddCommGroup E] [TopologicalSpace E] [ContinuousAdd E] [Module ๐•œ E] [ContinuousSMul ๐•œ E] {x y : E} :
segment ๐•œ x y โІ closure (openSegment ๐•œ x y)
@[simp]
theorem closure_openSegment {๐•œ : Type u_2} {E : Type u_3} [Ring ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [DenselyOrdered ๐•œ] [PseudoMetricSpace ๐•œ] [OrderTopology ๐•œ] [ProperSpace ๐•œ] [CompactIccSpace ๐•œ] [AddCommGroup E] [TopologicalSpace E] [T2Space E] [ContinuousAdd E] [Module ๐•œ E] [ContinuousSMul ๐•œ E] (x y : E) :
closure (openSegment ๐•œ x y) = segment ๐•œ x y
theorem Convex.combo_interior_closure_subset_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {a b : ๐•œ} (ha : 0 < a) (hb : 0 โ‰ค b) (hab : a + b = 1) :

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} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {a b : ๐•œ} (ha : 0 < a) (hb : 0 โ‰ค b) (hab : a + b = 1) :

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} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {a b : ๐•œ} (ha : 0 โ‰ค a) (hb : 0 < b) (hab : a + b = 1) :

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} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {a b : ๐•œ} (ha : 0 โ‰ค a) (hb : 0 < b) (hab : a + b = 1) :

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} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ interior s) (hy : y โˆˆ closure s) {a b : ๐•œ} (ha : 0 < a) (hb : 0 โ‰ค b) (hab : a + b = 1) :
theorem Convex.combo_interior_self_mem_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ interior s) (hy : y โˆˆ s) {a b : ๐•œ} (ha : 0 < a) (hb : 0 โ‰ค b) (hab : a + b = 1) :
theorem Convex.combo_closure_interior_mem_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ closure s) (hy : y โˆˆ interior s) {a b : ๐•œ} (ha : 0 โ‰ค a) (hb : 0 < b) (hab : a + b = 1) :
theorem Convex.combo_self_interior_mem_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ s) (hy : y โˆˆ interior s) {a b : ๐•œ} (ha : 0 โ‰ค a) (hb : 0 < b) (hab : a + b = 1) :
theorem Convex.openSegment_interior_closure_subset_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ interior s) (hy : y โˆˆ closure s) :
openSegment ๐•œ x y โІ interior s
theorem Convex.openSegment_interior_self_subset_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ interior s) (hy : y โˆˆ s) :
openSegment ๐•œ x y โІ interior s
theorem Convex.openSegment_closure_interior_subset_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ closure s) (hy : y โˆˆ interior s) :
openSegment ๐•œ x y โІ interior s
theorem Convex.openSegment_self_interior_subset_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ s) (hy : y โˆˆ interior s) :
openSegment ๐•œ x y โІ interior s
theorem Convex.add_smul_sub_mem_interior' {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] [AddRightMono ๐•œ] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ closure s) (hy : y โˆˆ interior s) {t : ๐•œ} (ht : t โˆˆ Set.Ioc 0 1) :

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} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] [AddRightMono ๐•œ] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ s) (hy : y โˆˆ interior s) {t : ๐•œ} (ht : t โˆˆ Set.Ioc 0 1) :

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} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] [AddRightMono ๐•œ] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ closure s) (hy : x + y โˆˆ interior s) {t : ๐•œ} (ht : t โˆˆ Set.Ioc 0 1) :

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} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] [AddRightMono ๐•œ] {s : Set E} (hs : Convex ๐•œ s) {x y : E} (hx : x โˆˆ s) (hy : x + y โˆˆ interior s) {t : ๐•œ} (ht : t โˆˆ Set.Ioc 0 1) :

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

theorem Convex.interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] [ZeroLEOneClass ๐•œ] {s : Set E} (hs : Convex ๐•œ s) :
Convex ๐•œ (interior s)

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

theorem Convex.closure {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) :
Convex ๐•œ (closure s)

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

theorem Convex.strictConvex' {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) (h : (s \ interior s).Pairwise fun (x y : E) => โˆƒ (c : ๐•œ), (AffineMap.lineMap x y) c โˆˆ interior s) :
StrictConvex ๐•œ 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.

theorem Convex.strictConvex {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) (h : (s \ interior s).Pairwise fun (x y : E) => (segment ๐•œ x y \ frontier s).Nonempty) :
StrictConvex ๐•œ s

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 Convex.closure_interior_eq_closure_of_nonempty_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] [ContinuousSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) (hs' : (interior s).Nonempty) :
theorem Convex.interior_closure_eq_interior_of_nonempty_interior {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] [ContinuousSMul ๐•œ E] {s : Set E} (hs : Convex ๐•œ s) (hs' : (interior s).Nonempty) :
theorem convex_closed_sInter {๐•œ : Type u_2} {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {S : Set (Set E)} (h : โˆ€ s โˆˆ S, Convex ๐•œ s โˆง IsClosed s) :
def closedConvexHull (๐•œ : Type u_2) {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] :

The convex closed hull of a set s is the minimal convex closed set that includes s.

Equations
    Instances For
      @[simp]
      theorem closedConvexHull_isClosed (๐•œ : Type u_2) {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] (s : Set E) :
      (closedConvexHull ๐•œ).IsClosed s = (Convex ๐•œ s โˆง IsClosed s)
      theorem convex_closedConvexHull {๐•œ : Type u_2} {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} :
      Convex ๐•œ ((closedConvexHull ๐•œ) s)
      theorem isClosed_closedConvexHull {๐•œ : Type u_2} {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} :
      IsClosed ((closedConvexHull ๐•œ) s)
      theorem subset_closedConvexHull {๐•œ : Type u_2} {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} :
      s โІ (closedConvexHull ๐•œ) s
      theorem closure_subset_closedConvexHull {๐•œ : Type u_2} {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} :
      theorem closedConvexHull_min {๐•œ : Type u_2} {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s t : Set E} (hst : s โІ t) (h_conv : Convex ๐•œ t) (h_closed : IsClosed t) :
      (closedConvexHull ๐•œ) s โІ t
      theorem convexHull_subset_closedConvexHull {๐•œ : Type u_2} {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} :
      (convexHull ๐•œ) s โІ (closedConvexHull ๐•œ) s
      @[simp]
      theorem closedConvexHull_closure_eq_closedConvexHull {๐•œ : Type u_2} {E : Type u_3} [Semiring ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] {s : Set E} :
      (closedConvexHull ๐•œ) (closure s) = (closedConvexHull ๐•œ) s
      theorem closedConvexHull_eq_closure_convexHull {๐•œ : Type u_2} {E : Type u_3} [Field ๐•œ] [PartialOrder ๐•œ] [AddCommGroup E] [Module ๐•œ E] [TopologicalSpace E] [IsTopologicalAddGroup E] [ContinuousConstSMul ๐•œ E] {s : Set E} :
      (closedConvexHull ๐•œ) s = closure ((convexHull ๐•œ) s)

      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.

      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.

      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.nontrivial_iff_nonempty_interior {๐•œ : Type u_4} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] {s : Set ๐•œ} (hs : Convex ๐•œ s) :
      theorem Convex.Ioo_subset_of_mem_closure {๐•œ : Type u_4} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] {s : Set ๐•œ} (hs : Convex ๐•œ s) {a b : ๐•œ} (has : a โˆˆ closure s) (hbs : b โˆˆ closure s) :
      theorem Convex.nhdsWithin_inter_Iio_eq_nhdsLT {๐•œ : Type u_4} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] {s : Set ๐•œ} (hs : Convex ๐•œ s) {a : ๐•œ} (has : a โˆˆ closure s) (h' : (s โˆฉ Set.Iio a).Nonempty) :
      theorem Convex.nhdsWithin_inter_Ioi_eq_nhdsGT {๐•œ : Type u_4} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] {s : Set ๐•œ} (hs : Convex ๐•œ s) {a : ๐•œ} (has : a โˆˆ closure s) (h' : (s โˆฉ Set.Ioi a).Nonempty) :
      theorem Convex.nhdsWithin_diff_eq_nhdsNE {๐•œ : Type u_4} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] {s : Set ๐•œ} (hs : Convex ๐•œ s) {a : ๐•œ} (has : a โˆˆ closure s) (h_Iio : (s โˆฉ Set.Iio a).Nonempty) (h_Ioi : (s โˆฉ Set.Ioi a).Nonempty) :
      theorem Convex.nhdsWithin_diff_eq_nhdsLT {๐•œ : Type u_4} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] {s : Set ๐•œ} (hs : Convex ๐•œ s) {a : ๐•œ} (has : a โˆˆ closure s) (h_Iio : (s โˆฉ Set.Iio a).Nonempty) (h_Ioi : s โˆฉ Set.Ioi a = โˆ…) :
      theorem Convex.nhdsWithin_diff_eq_nhdsGT {๐•œ : Type u_4} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] {s : Set ๐•œ} (hs : Convex ๐•œ s) {a : ๐•œ} (has : a โˆˆ closure s) (h_Iio : s โˆฉ Set.Iio a = โˆ…) (h_Ioi : (s โˆฉ Set.Ioi a).Nonempty) :
      theorem Convex.diff_singleton_eventually_mem_nhds {๐•œ : Type u_4} [Field ๐•œ] [LinearOrder ๐•œ] [IsStrictOrderedRing ๐•œ] [TopologicalSpace ๐•œ] [OrderTopology ๐•œ] {s : Set ๐•œ} (hs : Convex ๐•œ s) (a : ๐•œ) :
      โˆ€แถ  (x : ๐•œ) in nhdsWithin a (s \ {a}), s \ {a} โˆˆ nhds x