File: Mathlib/Analysis/Convex/Topology.lean

full_name: Real.convex_iff_isPreconnected
code: theorem Real.convex_iff_isPreconnected {s : Set ℝ} : Convex ℝ s ↔ IsPreconnected s 
goal: Convex ℝ s ↔ IsPreconnected s

full_name: stdSimplex_subset_closedBall
code: /-- Every vector in `stdSimplex 𝕜 ι` has `max`-norm at most `1`. -/
theorem stdSimplex_subset_closedBall : stdSimplex ℝ ι ⊆ Metric.closedBall 0 1 
goal: stdSimplex ℝ ι ⊆ Metric.closedBall 0 1

full_name: bounded_stdSimplex
code: /-- `stdSimplex ℝ ι` is bounded. -/
theorem bounded_stdSimplex : IsBounded (stdSimplex ℝ ι) 
goal: Bornology.IsBounded (stdSimplex ℝ ι)

full_name: isClosed_stdSimplex
code: /-- `stdSimplex ℝ ι` is closed. -/
theorem isClosed_stdSimplex : IsClosed (stdSimplex ℝ ι) 
goal: IsClosed (stdSimplex ℝ ι)

full_name: isCompact_stdSimplex
code: /-- `stdSimplex ℝ ι` is compact. -/
theorem isCompact_stdSimplex : IsCompact (stdSimplex ℝ ι) 
goal: IsCompact (stdSimplex ℝ ι)

full_name: stdSimplex.instCompactSpace_coe
code: instance stdSimplex.instCompactSpace_coe : CompactSpace ↥(stdSimplex ℝ ι) 
goal: CompactSpace ↑(stdSimplex ℝ ι)

full_name: stdSimplexHomeomorphUnitInterval_symm_apply_coe
code: /-- The standard one-dimensional simplex in `ℝ² = Fin 2 → ℝ`
is homeomorphic to the unit interval. -/
@[simps! (config := .asFn)]
def stdSimplexHomeomorphUnitInterval : stdSimplex ℝ (Fin 2) ≃ₜ unitInterval 
goal: ↑(stdSimplexHomeomorphUnitInterval.symm x) = ![↑x, 1 - ↑x]

full_name: stdSimplexHomeomorphUnitInterval_apply_coe
code: /-- The standard one-dimensional simplex in `ℝ² = Fin 2 → ℝ`
is homeomorphic to the unit interval. -/
@[simps! (config := .asFn)]
def stdSimplexHomeomorphUnitInterval : stdSimplex ℝ (Fin 2) ≃ₜ unitInterval 
goal: ↑(stdSimplexHomeomorphUnitInterval f) = ↑f 0

full_name: stdSimplexHomeomorphUnitInterval
code: /-- The standard one-dimensional simplex in `ℝ² = Fin 2 → ℝ`
is homeomorphic to the unit interval. -/
@[simps! (config := .asFn)]
def stdSimplexHomeomorphUnitInterval : stdSimplex ℝ (Fin 2) ≃ₜ unitInterval 
goal: ↑(stdSimplex ℝ (Fin 2)) ≃ₜ ↑unitInterval

full_name: segment_subset_closure_openSegment
code: theorem segment_subset_closure_openSegment : [x -[𝕜] y] ⊆ closure (openSegment 𝕜 x y) 
goal: [x-[𝕜]y] ⊆ closure (openSegment 𝕜 x y)

full_name: closure_openSegment
code: @[simp]
theorem closure_openSegment (x y : E) : closure (openSegment 𝕜 x y) = [x -[𝕜] y] 
goal: closure (openSegment 𝕜 x y) = [x-[𝕜]y]

full_name: Convex.combo_interior_closure_subset_interior
code: /-- 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_closure_subset_interior {s : Set E} (hs : Convex 𝕜 s) {a b : 𝕜}
    (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) : a • interior s + b • closure s ⊆ interior s 
goal: a • interior s + b • closure s ⊆ interior s

full_name: Convex.combo_interior_self_subset_interior
code: /-- 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_interior_self_subset_interior {s : Set E} (hs : Convex 𝕜 s) {a b : 𝕜}
    (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) : a • interior s + b • s ⊆ interior s 
goal: a • interior s + b • s ⊆ interior s

full_name: Convex.combo_closure_interior_subset_interior
code: /-- 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_closure_interior_subset_interior {s : Set E} (hs : Convex 𝕜 s) {a b : 𝕜}
    (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) : a • closure s + b • interior s ⊆ interior s 
goal: a • closure s + b • interior s ⊆ interior s

full_name: Convex.combo_self_interior_subset_interior
code: /-- 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_self_interior_subset_interior {s : Set E} (hs : Convex 𝕜 s) {a b : 𝕜}
    (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) : a • s + b • interior s ⊆ interior s 
goal: a • s + b • interior s ⊆ interior s

full_name: Convex.combo_interior_closure_mem_interior
code: theorem Convex.combo_interior_closure_mem_interior {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) : a • x + b • y ∈ interior s 
goal: a • x + b • y ∈ interior s

full_name: Convex.combo_interior_self_mem_interior
code: theorem Convex.combo_interior_self_mem_interior {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) :
    a • x + b • y ∈ interior s 
goal: a • x + b • y ∈ interior s

full_name: Convex.combo_closure_interior_mem_interior
code: theorem Convex.combo_closure_interior_mem_interior {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) : a • x + b • y ∈ interior s 
goal: a • x + b • y ∈ interior s

full_name: Convex.combo_self_interior_mem_interior
code: theorem Convex.combo_self_interior_mem_interior {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) :
    a • x + b • y ∈ interior s 
goal: a • x + b • y ∈ interior s

full_name: Convex.openSegment_interior_closure_subset_interior
code: theorem Convex.openSegment_interior_closure_subset_interior {s : Set E} (hs : Convex 𝕜 s) {x y : E}
    (hx : x ∈ interior s) (hy : y ∈ closure s) : openSegment 𝕜 x y ⊆ interior s 
goal: openSegment 𝕜 x y ⊆ interior s

full_name: Convex.openSegment_interior_self_subset_interior
code: theorem Convex.openSegment_interior_self_subset_interior {s : Set E} (hs : Convex 𝕜 s) {x y : E}
    (hx : x ∈ interior s) (hy : y ∈ s) : openSegment 𝕜 x y ⊆ interior s 
goal: openSegment 𝕜 x y ⊆ interior s

full_name: Convex.openSegment_closure_interior_subset_interior
code: theorem Convex.openSegment_closure_interior_subset_interior {s : Set E} (hs : Convex 𝕜 s) {x y : E}
    (hx : x ∈ closure s) (hy : y ∈ interior s) : openSegment 𝕜 x y ⊆ interior s 
goal: openSegment 𝕜 x y ⊆ interior s

full_name: Convex.openSegment_self_interior_subset_interior
code: theorem Convex.openSegment_self_interior_subset_interior {s : Set E} (hs : Convex 𝕜 s) {x y : E}
    (hx : x ∈ s) (hy : y ∈ interior s) : openSegment 𝕜 x y ⊆ interior s 
goal: openSegment 𝕜 x y ⊆ interior s

full_name: Convex.add_smul_sub_mem_interior'
code: /-- 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' {s : Set E} (hs : Convex 𝕜 s) {x y : E}
    (hx : x ∈ closure s) (hy : y ∈ interior s) {t : 𝕜} (ht : t ∈ Ioc (0 : 𝕜) 1) :
    x + t • (y - x) ∈ interior s 
goal: x + t • (y - x) ∈ interior s

full_name: Convex.add_smul_sub_mem_interior
code: /-- If `x ∈ s` and `y ∈ interior s`, then the segment `(x, y]` is included in `interior s`. -/
theorem Convex.add_smul_sub_mem_interior {s : Set E} (hs : Convex 𝕜 s) {x y : E} (hx : x ∈ s)
    (hy : y ∈ interior s) {t : 𝕜} (ht : t ∈ Ioc (0 : 𝕜) 1) : x + t • (y - x) ∈ interior s 
goal: x + t • (y - x) ∈ interior s

full_name: Convex.add_smul_mem_interior'
code: /-- 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' {s : Set E} (hs : Convex 𝕜 s) {x y : E} (hx : x ∈ closure s)
    (hy : x + y ∈ interior s) {t : 𝕜} (ht : t ∈ Ioc (0 : 𝕜) 1) : x + t • y ∈ interior s 
goal: x + t • y ∈ interior s

full_name: Convex.add_smul_mem_interior
code: /-- If `x ∈ s` and `x + y ∈ interior s`, then `x + t y ∈ interior s` for `t ∈ (0, 1]`. -/
theorem Convex.add_smul_mem_interior {s : Set E} (hs : Convex 𝕜 s) {x y : E} (hx : x ∈ s)
    (hy : x + y ∈ interior s) {t : 𝕜} (ht : t ∈ Ioc (0 : 𝕜) 1) : x + t • y ∈ interior s 
goal: x + t • y ∈ interior s

full_name: Convex.interior
code: /-- In a topological vector space, the interior of a convex set is convex. -/
protected theorem Convex.interior {s : Set E} (hs : Convex 𝕜 s) : Convex 𝕜 (interior s) 
goal: Convex 𝕜 (interior s)

full_name: Convex.closure
code: /-- In a topological vector space, the closure of a convex set is convex. -/
protected theorem Convex.closure {s : Set E} (hs : Convex 𝕜 s) : Convex 𝕜 (closure s) 
goal: Convex 𝕜 (closure s)

full_name: Convex.strictConvex'
code: /-- 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.strictConvex' {s : Set E} (hs : Convex 𝕜 s)
    (h : (s \ interior s).Pairwise fun x y => ∃ c : 𝕜, lineMap x y c ∈ interior s) :
    StrictConvex 𝕜 s 
goal: StrictConvex 𝕜 s

full_name: Convex.strictConvex
code: /-- 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`. -/
protected theorem Convex.strictConvex {s : Set E} (hs : Convex 𝕜 s)
    (h : (s \ interior s).Pairwise fun x y => ([x -[𝕜] y] \ frontier s).Nonempty) :
    StrictConvex 𝕜 s 
goal: StrictConvex 𝕜 s

full_name: Set.Finite.isCompact_convexHull
code: /-- Convex hull of a finite set is compact. -/
theorem Set.Finite.isCompact_convexHull {s : Set E} (hs : s.Finite) :
    IsCompact (convexHull ℝ s) 
goal: IsCompact ((convexHull ℝ) s)

full_name: Set.Finite.isClosed_convexHull
code: /-- Convex hull of a finite set is closed. -/
theorem Set.Finite.isClosed_convexHull [T2Space E] {s : Set E} (hs : s.Finite) :
    IsClosed (convexHull ℝ s) 
goal: IsClosed ((convexHull ℝ) s)

full_name: Convex.closure_subset_image_homothety_interior_of_one_lt
code: /-- 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_image_homothety_interior_of_one_lt {s : Set E} (hs : Convex ℝ s)
    {x : E} (hx : x ∈ interior s) (t : ℝ) (ht : 1 < t) :
    closure s ⊆ homothety x t '' interior s 
goal: closure s ⊆ ⇑(AffineMap.homothety x t) '' interior s

full_name: Convex.closure_subset_interior_image_homothety_of_one_lt
code: /-- 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.closure_subset_interior_image_homothety_of_one_lt {s : Set E} (hs : Convex ℝ s)
    {x : E} (hx : x ∈ interior s) (t : ℝ) (ht : 1 < t) :
    closure s ⊆ interior (homothety x t '' s) 
goal: closure s ⊆ interior (⇑(AffineMap.homothety x t) '' s)

full_name: Convex.subset_interior_image_homothety_of_one_lt
code: /-- 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 {s : Set E} (hs : Convex ℝ s) {x : E}
    (hx : x ∈ interior s) (t : ℝ) (ht : 1 < t) : s ⊆ interior (homothety x t '' s) 
goal: s ⊆ interior (⇑(AffineMap.homothety x t) '' s)

full_name: JoinedIn.of_segment_subset
code: theorem JoinedIn.of_segment_subset {E : Type*} [AddCommGroup E] [Module ℝ E]
    [TopologicalSpace E] [ContinuousAdd E] [ContinuousSMul ℝ E]
    {x y : E} {s : Set E} (h : [x -[ℝ] y] ⊆ s) : JoinedIn s x y 
goal: JoinedIn s x y

full_name: Convex.isPathConnected
code: /-- A nonempty convex set is path connected. -/
protected theorem Convex.isPathConnected {s : Set E} (hconv : Convex ℝ s) (hne : s.Nonempty) :
    IsPathConnected s 
goal: IsPathConnected s

full_name: Convex.isConnected
code: /-- A nonempty convex set is connected. -/
protected theorem Convex.isConnected {s : Set E} (h : Convex ℝ s) (hne : s.Nonempty) :
    IsConnected s 
goal: IsConnected s

full_name: Convex.isPreconnected
code: /-- A convex set is preconnected. -/
protected theorem Convex.isPreconnected {s : Set E} (h : Convex ℝ s) : IsPreconnected s 
goal: IsPreconnected s

full_name: TopologicalAddGroup.pathConnectedSpace
code: /-- Every topological vector space over ℝ is path connected.

Not an instance, because it creates enormous TC subproblems (turn on `pp.all`).
-/
protected theorem TopologicalAddGroup.pathConnectedSpace : PathConnectedSpace E 
goal: PathConnectedSpace E

full_name: _aux_Mathlib_Analysis_Convex_Topology___unexpand_Submodule_linearProjOfIsCompl_1
code: local notation "π" => Submodule.linearProjOfIsCompl _ _
goal: Lean.PrettyPrinter.Unexpander

full_name: _aux_Mathlib_Analysis_Convex_Topology___macroRules_termπ_1
code: local notation "π" => Submodule.linearProjOfIsCompl _ _
goal: Lean.Macro

full_name: isPathConnected_compl_of_isPathConnected_compl_zero
code: /-- Given two complementary subspaces `p` and `q` in `E`, if the complement of `{0}`
is path connected in `p` then the complement of `q` is path connected in `E`. -/
theorem isPathConnected_compl_of_isPathConnected_compl_zero [ContinuousSMul ℝ E]
    {p q : Submodule ℝ E} (hpq : IsCompl p q) (hpc : IsPathConnected ({0}ᶜ : Set p)) :
    IsPathConnected (qᶜ : Set E) 
goal: IsPathConnected (↑q)ᶜ