Section: New Software and Platforms
CoqPolyhedra
Keywords: Coq  Polyhedra  Automated theorem proving  Linear optimization
Scientific Description: CoqPolyhedra is a library providing a formalization of convex polyhedra in the Coq proof assistant. While still in active development, it provides an implementation of the simplex method, and already handles the basic properties of polyhedra such as emptiness, boundedness, membership. Several fundamental results in the theory of convex polyhedra, such as Farkas Lemma, duality theorem of linear programming, and Minkowski Theorem, are also formally proved.
The formalization is based on the Mathematical Components library, and makes an extensive use of the boolean reflection methodology.
Functional Description: CoqPolyhedra is a library which aims at formalizing convex polyhedra in Coq
News Of The Year: CoqPolyhedra now provides most of the basic operations on polyhedra. They are expressed on a quotient type that avoids reasoning with particular inequality representations. They include : * the construction of elementary polyhedra (halfspaces, hyperplanes, affine spaces, orthants, simplices, etc) * basic operations such as intersection, projection (thanks to the formalization of the FourierMotzkin algorithm), image under linear functions, computations of convex hulls, finitely generated cones, etc. * computation of affine hulls of polyhedra, as well as their dimension
Thanks to this, we have made huge progress on the formalization of the combinatorics of polyhedra. The poset of faces, as well as its fundamental properties (lattice, gradedness, atomicity and coatomicity, etc) are now formalized. The manipulation of the faces is based on an extensive use of canonical structures, that allows to get the most appropriate inequality representations for reasoning. In this way, we arrive at very concise and elegant proofs, closer to the penandpaper ones.

Participants: Xavier Allamigeon, Vasileios Charisopoulos, Ricardo Katz and PierreYves Strub

Publications: A Formalization of Convex Polyhedra Based on the Simplex Method  A Formalization of Convex Polyhedra Based on the Simplex Method  First steps in the formalization of convex polyhedra in Coq