Disjunctive Programming III: Projecting Polyhedra and the Convex Hull via PolarityTextbook
Motivation
Theorem 2.1 (the previous mission in this series) shows that the closed convex hull of a union of polyhedra has a compact description after lifting to a higher-dimensional space. That description comes in two dual flavors: a primal one, as the projection of an explicit lifted polyhedron, and a polar one, characterizing the hull's facets directly via a cone built from the disjuncts' own data. Both flavors matter in practice: a cutting-plane algorithm needs to know exactly which inequalities are facet-defining (so as not to waste effort generating redundant cuts), and the two routes — projection and polarity — offer complementary tools for deciding this. This mission formalizes both routes and the machinery connecting them, closing out Chapter 2 of Balas, Disjunctive Programming (Springer, 2018).
The projection route (§2.2–2.3) develops general facts about projecting an arbitrary polyhedron that predate and underlie the disjunctive-programming application: the classical projection formula via extreme rays of a projection cone, how dimension and facet structure behave under projection, and a refinement (via a coordinate transformation) that eliminates the redundant inequalities the plain projection formula can produce. The polarity route (§2.4) develops the reverse polar, an object introduced by Balas specifically for this purpose, whose iterated application recovers the closed convex hull of a disjunctive set directly, culminating in an exact characterization of when an inequality is facet-defining purely in terms of extreme rays of an explicit cone .
Setting
For a matrix system with rows, let , and let be its projection onto the -space. The projection cone is . A vector is an extreme ray of a cone if , , and the ray it generates is an extreme subset of . The dimension of a polyhedron is the dimension of its affine hull, and a set is a facet of if it is a proper face of of dimension . Partitioning 's rows into those tight throughout (the equality subsystem) and the rest, and denote the rank of the tight rows' combined and -only submatrices, respectively.
For , the polar is and the reverse polar is ; more generally the scaled polar at level is . For a disjunctive set with and , the cone .
Formalization targets
Theorem 2.18 (goal) — facet characterization via polarity
For a full-dimensional disjunctive set () and :
The polarity chain feeding the goal
Proposition 2.13 ( bounded), Theorem 2.14 ( when ), Corollary 2.15 (), Theorem 2.16 (the scaled polar stabilizes: ), and Corollary 2.17 () — each the weakest statement needed for the next.
The projection track (independent of the goal's direct proof, sharing its definitions)
Theorem 2.5 (), Proposition 2.6 (projection preserves integrality), Theorem 2.7 (), Corollaries 2.8–2.10 (facet/face behavior under projection), and Proposition 2.11 / Corollary 2.12 (sharper facet characterizations via a coordinate-transformed projection cone).
Significance
The results themselves. Theorem 2.18 is the practical payoff of the entire polarity apparatus: it turns "is this inequality facet-defining for the convex hull of a union of polyhedra" from a geometric question into an algebraic one about extreme rays of an explicit, finitely-generated cone built directly from the disjuncts' own constraint data — exactly the kind of question a cutting-plane algorithm needs answered to avoid generating redundant cuts. The projection track is foundational general polyhedral theory in its own right (Theorem 2.5's formula underlies Benders decomposition and classical Fourier-Motzkin elimination as special cases, per the book's own remarks), independently useful beyond the disjunctive setting.
Formalizing it. No object in this mission — polars, reverse polars, projection cones, extreme
rays of a cone, or the dimension/facet apparatus of a polyhedron — exists on the platform prior to
this mission or in Mathlib (a q=polar search returns only an unrelated cyclic-polytope
construction from the Hirsch-conjecture series, with different conventions and object). This
mission restates the disjunctive-set vocabulary of the companion ConvexHull mission locally
(per the series convention that a draft mission cannot import another draft mission's
definitions) and builds the polarity apparatus from scratch on top of it.
Difficulty
The natural first attempt at Theorem 2.18 tries to characterize facets of directly from the lifted-polyhedron representation of Theorem 2.1, projecting facet by facet. This misses the point of the polarity route entirely: Theorem 2.18's proof instead goes through , showing a vertex of corresponds to a nonhomogeneous subset of rank of 's own defining system being tight — algebra entirely in the dual space of multipliers, never touching the lifted polyhedron's facets directly. The two obstacles Theorem 2.14 and Proposition 2.13 exist to clear are, respectively: reverse polars do not satisfy the ordinary polar's clean involution property (an extra summand appears, capturing recession directions the reverse-polar construction alone cannot see), and reverse polars are either empty or automatically unbounded (never merely "small"), which is why the apparatus needs the normalization throughout.
Formalization scope
All results are stated over finite index sets and matrices Matrix (Fin (m h)) (Fin n) ℝ
(disjunctive-set data, m : Q → ℕ dependent) or Matrix (Fin m) (Fin p) ℝ /
Matrix (Fin m) (Fin q) ℝ (projection-track data). PolyDim and IsFacet are stated generically
over any real vector space (via Module.finrank of vectorSpan and Mathlib's IsExtreme), so the
same definitions serve both Poly2-shaped pairs and cl conv F ⊆ Fin n → ℝ directly in Theorem
2.18. IsExtremeRay is likewise stated generically, reused for cones in plain vector space,
(v,v0)-space, and the triple (v,w,v0)-space Proposition 2.11 needs.
Two results (Proposition 2.11, Corollary 2.12) build on a coordinate-transformed polyhedron
Q̃/cone W̃ that the book itself only cites from [14] rather than constructing; consistent with
the book's own treatment, this mission takes W̃ (or its (v,v0)-projection) as given data
together with its defining relationship to Proj_x(Q), rather than re-deriving the transformation
— a choice recorded in MODERATION_NOTES.md, not a weakening of either statement's content.
Proposition 2.11's complexity remark ("O(max{m,q}³)") is a proof aside about the transformation's
cost, not part of either result's mathematical claim, and is out of scope per the book-wide
disposition (triage.json).
A trivializing formalization is ruled out explicitly: the projection-track results are stated for
generic m, p, q, never fixed at small values, and Theorem 2.18 is stated for a generic finite
disjunctive index set Q, not specialized to |Q| = 1 (which would collapse W_0 to ordinary
LP polarity and prove nothing about unions).
Selected references
- E. Balas, Disjunctive Programming, Springer, 2018. DOI: 10.1007/978-3-030-00148-3, Chapter 2, §2.2–2.4.
- E. Balas, Disjunctive programming: Properties of the convex hull of feasible points, Discrete Applied Mathematics 89 (1998), 3–44 (cited in the text as [6], the origin of the reverse-polar apparatus alongside [10]).
- Balas, Pordli (cited as [14] in the text) — the coordinate-transformation construction behind Proposition 2.11 and Corollary 2.12.
- Balas, Portugal (cited as [30] in the text) — the source of the dimensional results of §2.2.2.