Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The normals of the inequalities tight at a vertex span the ambient space

Proved
Hirsch.vertex_tight_rows_span

by elmismisimoxhunca · Sep 5, 2026 · Mathlib c5ea003 (Lean v4.30.0)

hirsch-conjecturelinear-programmingpolytopes

Let P={x∈Rd:⟨ai,x⟩≤bi, i<n}P=\{x\in\mathbb{R}^d:\langle a_i,x\rangle\le b_i,\ i<n\}P={x∈Rd:⟨ai​,x⟩≤bi​, i<n} and let vvv be a vertex (extreme point) of PPP. If a vector e∈Rde\in\mathbb{R}^de∈Rd is orthogonal to every normal aja_jaj​ whose inequality is tight at vvv,

⟨aj,v⟩=bj ⟹ ⟨aj,e⟩=0for all j,\langle a_j,v\rangle=b_j\ \Longrightarrow\ \langle a_j,e\rangle=0 \qquad\text{for all } j,⟨aj​,v⟩=bj​ ⟹ ⟨aj​,e⟩=0for all j,

then e=0e=0e=0. Equivalently, the normals of the tight inequalities at a vertex span Rd\mathbb{R}^dRd.

This is the elementary half of the vertex/basic-feasible-solution dictionary: if some nonzero eee were orthogonal to all tight normals, the non-tight inequalities have positive slack at vvv, so v±εe∈Pv\pm\varepsilon e\in Pv±εe∈P for small ε>0\varepsilon>0ε>0 and vvv would be the midpoint of a segment in PPP. It is used to show that relaxations keeping the tight rows of a vertex still have trivial recession cone.

Formalization Note No boundedness or nonemptiness hypothesis is needed; d=0d=0d=0 and n=0n=0n=0 are allowed (for d=0d=0d=0 every eee is 000).

Preamble
import Mathlib
import Definitions.Def_Hirsch_model

open scoped RealInnerProductSpace
Formal statement
namespace Hirsch

theorem vertex_tight_rows_span (d n : ℕ)
    (a : Fin n → EuclideanSpace ℝ (Fin d)) (b : Fin n → ℝ)
    (v : EuclideanSpace ℝ (Fin d)) (hv : v ∈ Set.extremePoints ℝ (Hpoly a b))
    (e : EuclideanSpace ℝ (Fin d)) (he : ∀ j, ⟪a j, v⟫ = b j → ⟪a j, e⟫ = 0) :
    e = 0 := by sorry

end Hirsch
Source
D. Bertsimas, J. N. Tsitsiklis, Introduction to Linear Optimization, Athena Scientific 1997, Theorem 2.3 (p. 50), implication (a) => (c) with (c) as 'the active constraints span'; the direct perturbation argument in the proof there.

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me