,
Érik Martin-Dorel
,
Pierre Roux
Creative Commons Attribution 3.0 Unported license
Some mathematical proofs involve intensive computations, for instance: the four-color theorem, Hales' theorem on sphere packing (formerly known as the Kepler conjecture) or interval arithmetic. For numerical computations, floating-point arithmetic enjoys widespread usage thanks to its efficiency, despite the introduction of rounding errors. Formal guarantees can be obtained on floating-point algorithms based on the IEEE 754 standard, which precisely specifies floating-point arithmetic and its rounding modes, and a proof assistant such as Coq, that enjoys efficient computation capabilities. Coq offers machine integers, however floating-point arithmetic still needed to be emulated using these integers. A modified version of Coq is presented that enables using the machine floating-point operators. The main obstacles to such an implementation and its soundness are discussed. Benchmarks show potential performance gains of two orders of magnitude.
@InProceedings{bertholon_et_al:LIPIcs.ITP.2019.7,
author = {Bertholon, Guillaume and Martin-Dorel, \'{E}rik and Roux, Pierre},
title = {{Primitive Floats in Coq}},
booktitle = {10th International Conference on Interactive Theorem Proving (ITP 2019)},
pages = {7:1--7:20},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-122-1},
ISSN = {1868-8969},
year = {2019},
volume = {141},
editor = {Harrison, John and O'Leary, John and Tolmach, Andrew},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2019.7},
URN = {urn:nbn:de:0030-drops-110629},
doi = {10.4230/LIPIcs.ITP.2019.7},
annote = {Keywords: Coq formal proofs, floating-point arithmetic, reflexive tactics, Cholesky decomposition}
}