Section: New Software and Platforms
Coq-Polyhedra
Keywords: Coq - Polyhedra - Automated theorem proving - Linear optimization
Scientific Description: Coq-Polyhedra 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: Coq-Polyhedra is a library which aims at formalizing convex polyhedra in Coq
News Of The Year: Coq-Polyhedra 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 (half-spaces, hyperplanes, affine spaces, orthants, simplices, etc) * basic operations such as intersection, projection (thanks to the formalization of the Fourier-Motzkin 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 co-atomicity, 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 pen-and-paper ones.
-
Participants: Xavier Allamigeon, Vasileios Charisopoulos, Ricardo Katz and Pierre-Yves 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