Efficient Formal Verification of Bounds of Linear Programs

  • Alexey Solovyev
  • Thomas C. Hales
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6824)


One of the challenging problems in the formalization of mathematics is a formal verification of numerical computations. Many theorems rely on numerical results, the verification of which is necessary for producing complete formal proofs. The formal verification systems are not well suited for doing high-performance computing since even a small arithmetic step must be completely justified using elementary rules. We have developed a set of procedures in the HOL Light proof assistant for efficient verification of bounds of relatively large linear programs. The main motivation for the development of our tool was the work on the formal proof of the Kepler Conjecture. An important part of the proof consists of about 50000 linear programs each of which contains more than 1000 variables and constraints. Our tool is capable to verify one such a linear program in about 5 seconds. This is sufficiently fast for doing the needed formal computations.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Gonthier, G.: Formal Proof—The Four-Color Theorem. Notices of the AMS 55(11), 1382–1393 (2008)MathSciNetMATHGoogle Scholar
  2. 2.
    Hales, T.C.: The Flyspeck Project, http://code.google.com/p/flyspeck
  3. 3.
    Hales, T.C.: A proof of the Kepler conjecture. Annals of Mathematics. Second Series 162(3), 1065–1185 (2005)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Hales, T.C.: Linear Programs for the Kepler Conjecture (Extended Abstract). In: Fukuda, K., Hoeven, J.v.d., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 149–151. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Harrison, J.: The HOL Light theorem prover, http://www.cl.cam.ac.uk/~jrh13/hol-light/
  6. 6.
    Karatsuba, A.A.: The Complexity of Computations. Proceedings of the Steklov Institute of Mathematics 211, 169–183 (1995)MathSciNetMATHGoogle Scholar
  7. 7.
    Makhorin, A.O.: GNU Linear Programming Kit, http://www.gnu.org/software/glpk/
  8. 8.
    Obua, S.: Flyspeck II: The Basic Linear Programs (2008), http://code.google.com/p/flyspeck
  9. 9.
    A Modeling Language for Mathematical Programming, http://www.ampl.com/
  10. 10.
    The Caml Language, http://caml.inria.fr/

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Alexey Solovyev
    • 1
  • Thomas C. Hales
    • 1
  1. 1.Department of MathematicsUniversity of PittsburghPittsburghUSA

Personalised recommendations