Theorem 4.4.1 — vertices are exactly the basic feasible solutions
ProvedMatousekLP.BFS.vertex_iff_bfslinear-programmingp2o-batch-b23bp2o-gran-per-chapterp2o-plan-bookp2o-v1polyhedra
Let be a real matrix of rank with and , let , and let
be the set of feasible solutions of the linear program in equational form. For a point the following are equivalent:
- is a vertex of : there is a nonzero with for all ;
- is a basic feasible solution of the linear program.
The theorem identifies the algebraic notion used by the simplex method with the geometric "corners" of the feasible polyhedron.
Formalization Note The standing assumption of §4.2 (p. 44), and , is a hypothesis. The hypothesis is added: for there is no nonzero , so the unique feasible point is basic (with ) but not a vertex in the book's sense, and the equivalence fails; the book tacitly works with . "Vertex" is the book's unique-maximizer definition, not Mathlib's extreme points.
Preamble
import Mathlib import Definitions.Def_MatousekLP_BFS_EquationalForm open Matrix
Formal statement
namespace MatousekLP.BFS
/-- Theorem 4.4.1 (p. 54). Standing assumption of §4.2 (p. 44): `A` has `m` rows, `n` columns,
`n ≥ m`, and rank `m`. The book's vertex definition asks for a nonzero `c ∈ ℝⁿ`, which does
not exist for `n = 0`; the book tacitly has `n ≥ 1`, recorded as `hn`. -/
theorem vertex_iff_bfs {m n : ℕ} (A : Matrix (Fin m) (Fin n) ℝ)
(b : Fin m → ℝ) (hn : 0 < n) (hmn : m ≤ n) (hrank : A.rank = m) (v : Fin n → ℝ)
(hv : v ∈ feasibleSet A b) :
IsVertex (feasibleSet A b) v ↔ IsBasicFeasible A b v := by sorry
end MatousekLP.BFS
Source
Matoušek & Gärtner, Understanding and Using Linear Programming, Springer 2007, p. 54, Theorem 4.4.1 (vertex definition p. 53; standing assumption of §4.2 on p. 44)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.