Efficient Formal Verification of Bounds of Linear Programs
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.
- 2.Hales, T.C.: The Flyspeck Project, http://code.google.com/p/flyspeck
- 5.Harrison, J.: The HOL Light theorem prover, http://www.cl.cam.ac.uk/~jrh13/hol-light/
- 7.Makhorin, A.O.: GNU Linear Programming Kit, http://www.gnu.org/software/glpk/
- 8.Obua, S.: Flyspeck II: The Basic Linear Programs (2008), http://code.google.com/p/flyspeck
- 9.A Modeling Language for Mathematical Programming, http://www.ampl.com/
- 10.The Caml Language, http://caml.inria.fr/