A Formalization of Convex Polyhedra Based on the Simplex Method

  • Xavier AllamigeonEmail author
  • Ricardo D. Katz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10499)


We present a formalization of convex polyhedra in the proof assistant Coq. The cornerstone of our work is a complete implementation of the simplex method, together with the proof of its correctness and termination. This allows us to define the basic predicates over polyhedra in an effective way (i.e. as programs), and relate them with the corresponding usual logical counterparts. To this end, we make an extensive use of the Boolean reflection methodology. The benefit of this approach is that we can easily derive the proof of several essential results on polyhedra, such as Farkas Lemma, duality theorem of linear programming, and Minkowski Theorem.



The authors are very grateful to A. Mahboubi for her help to improve the presentation of this paper, and to G. Gonthier, F. Hivert and P.-Y. Strub for fruitful discussions. The second author is also grateful to M. Cristiá for introducing him to the topic of automated theorem proving. The authors finally thank the anonymous reviewers for their suggestions and remarks.


  1. 1.
    Avis, D., Fukuda, K.: A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra. Discrete Comput. Geom. 8(3), 295–313 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Barthe, G., Forest, J., Pichardie, D., Rusu, V.: Defining and reasoning about recursive functions: a practical tool for the Coq proof assistant. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol. 3945, pp. 114–129. Springer, Heidelberg (2006). doi: 10.1007/11737414_9 CrossRefGoogle Scholar
  3. 3.
    Besson, F.: Fast reflexive arithmetic tactics the linear case and beyond. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 48–62. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-74464-1_4 CrossRefGoogle Scholar
  4. 4.
    Bremner, D., Deza, A., Hua, W., Schewe, L.: More bounds on the diameters of convex polytopes. Optim. Methods Softw. 28(3), 442–450 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Cohen, C., Dénès, M., Mörtberg, A.: Refinements for free! In: Gonthier, G., Norrish, M. (eds.) CPP 2013. LNCS, vol. 8307, pp. 147–162. Springer, Cham (2013). doi: 10.1007/978-3-319-03545-1_10
  6. 6.
    Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: Proceedings of POPL 1978, Tucson, Arizona. ACM Press (1978)Google Scholar
  7. 7.
    Dantzig, G.B.: Maximization of a linear function of variables subject to linear inequalities. In: Activity Analysis of Production and Allocation. Wiley (1951)Google Scholar
  8. 8.
    Dantzig, G.B., Orden, A., Wolfe, P.: The generalized simplex method for minimizing a linear form under linear inequality restraints. Pac. J. Math. 5(2), 183–195 (1955)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Fouilhe, A., Boulmé, S.: A certifying frontend for (sub)polyhedral abstract domains. In: Giannakopoulou, D., Kroening, D. (eds.) VSTTE 2014. LNCS, vol. 8471, pp. 200–215. Springer, Cham (2014). doi: 10.1007/978-3-319-12154-3_13 Google Scholar
  10. 10.
    Gonthier, G.: Point-free, set-free concrete linear algebra. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 103–118. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22863-6_10 CrossRefGoogle Scholar
  11. 11.
    Gonthier, G., Mahboubi, A., Tassi, E.: A small scale reflection extension for the Coq system. Research Report RR-6455, Inria Saclay Ile de France (2016)Google Scholar
  12. 12.
    Guglielmi, N., Laglia, L., Protasov, V.: Polytope Lyapunov functions for stable and for stabilizable LSS. Found. Comput. Math. 17(2), 567–623 (2017)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Harrison, J.: The HOL light theory of Euclidean space. J. Autom. Reason. 50, 173–190 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Khachiyan, L.: Polynomial algorithms in linear programming. USSR Comput. Math. Math. Phys. 20(1), 53–72 (1980)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Sakaguchi, K.: VASS (2016).
  16. 16.
    Santos, F.: A counterexample to the Hirsch conjecture. Ann. Math. 176(1), 383–412 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Smale, S.: Mathematical problems for the next century. Math. Intell. 20, 7–15 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Spasić, M., Marić, F.: Formalization of incremental simplex algorithm by stepwise refinement. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 434–449. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-32759-9_35 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Inria and CMAP, Ecole Polytechnique, CNRS, Université Paris–SaclayParisFrance
  2. 2.CIFASIS-CONICETRosarioArgentina

Personalised recommendations