Existence of extreme points: a polyhedron has an extreme point iff it contains no line
ProvedLinearOptimization.polyhedron_extreme_point_existence(Theorem 2.6) Suppose that the polyhedron
is nonempty. Then, the following are equivalent:
- (a) The polyhedron has at least one extreme point.
- (b) The polyhedron does not contain a line.
- (c) There exist vectors out of the family , which are linearly independent.
import Mathlib.Analysis.Convex.Extreme import Mathlib.Data.List.TFAE import Definitions.Def_Polyhedron import Definitions.Def_ContainsLine /-- **B&T Theorem 2.6 (p. 63).** Existence of extreme points of a nonempty general-form polyhedron: extreme point exists ⟺ no line contained ⟺ some `n` of the constraint vectors (= rows of `A`) are linearly independent. -/
theorem LinearOptimization.polyhedron_extreme_point_existence {m n : ℕ}
(A : Matrix (Fin m) (Fin n) ℝ) (b : Fin m → ℝ)
(hne : (polyhedron A b).Nonempty) :
List.TFAE
[ (Set.extremePoints ℝ (polyhedron A b)).Nonempty,
¬ ContainsLine (polyhedron A b),
∃ s : Finset (Fin m), s.card = n ∧
LinearIndependent ℝ (fun i : s => A i.1) ] := by
sorry
Read-back
What the Lean code literally says, in plain math · claude-fable-5
Let be a real matrix and , and assume the polyhedron is nonempty. The theorem asserts that the following three are pairwise equivalent: (1) has at least one extreme point in Mathlib's sense (a point of that never lies strictly inside an open segment between two points of unless both endpoints equal it); (2) does not contain a full affine line (there are no and with for all ); (3) there exists a finite set of row indices with exactly elements such that the corresponding rows of are linearly independent — equivalently, has linearly independent rows (which requires ; when the empty set works and (3) is automatically true). Note that condition (3) refers only to the matrix , not to or to which constraints are active anywhere.
Confirmed by the mission captain (proposal self-audit).