Supporting hyperplane theorem
ProvedConvexOptimization.supporting_hyperplaneThe supporting hyperplane theorem: every boundary point of a convex set admits a supporting hyperplane.
Let be convex and let be a point of the boundary of . Then there is a nonzero with
The hyperplane touches at and keeps all of on one side. There is no uniqueness claim: at a corner of a polytope infinitely many supporting hyperplanes exist.
Supporting hyperplanes are the geometric form of the subgradient — a supporting hyperplane to the epigraph of at is exactly a subgradient of at — and they are the mechanism by which a convex set is recovered as the intersection of the halfspaces containing it, which is the converse direction of the separation theory.
Formalization Note Boundary membership is x₀ ∈ frontier C; no closedness hypothesis on C is needed, since a frontier point of C need not belong to C, and the conclusion is stated for points of C only. Source: B&V §2.5.2, p. 51.
import Mathlib open scoped RealInnerProductSpace ENNReal open MeasureTheory
theorem ConvexOptimization.supporting_hyperplane {n : ℕ}
(C : Set (EuclideanSpace ℝ (Fin n))) (hC : Convex ℝ C)
(x₀ : EuclideanSpace ℝ (Fin n)) (hx₀ : x₀ ∈ frontier C) :
∃ a : EuclideanSpace ℝ (Fin n), a ≠ 0 ∧ ∀ x ∈ C, ⟪a, x⟫ ≤ ⟪a, x₀⟫ := by
sorry
Read-back
What the Lean code literally says, in plain math · claude-fable-5
Theorem statement. For every , every convex subset of Euclidean -space (nonemptiness is not assumed), and every point in the topological frontier of (frontier = closure minus interior, for the Euclidean topology), there exists with such that for every — i.e. the linear functional attains at an upper bound for its values on (non-strict; may meet the hyperplane). Note is a frontier point, which need not belong to (it lies in ). Degenerate instances silently included: if or is the whole space, or (one-point space, every subset clopen), the frontier is empty and the statement is vacuous; if has empty interior (e.g. contained in a proper affine subspace), the frontier equals the whole closure, so the claim then asserts a supporting vector at every point of .
Confirmed by the mission captain (proposal self-audit).