Abstract
In order to derive efficient and robust floating-point implementations of a given function f, it is crucial to compute its hardest-to-round points, i.e. the floating-point numbers x such that f(x) is closest to the midpoint of two consecutive floating-point numbers. Depending on the floating-point format one is aiming at, this can be highly computationally intensive. In this paper, we show how certificates based on Hensel’s lemma can be added to an algorithm using lattice basis reduction so that the result of a computation can be formally checked in the Coq proof assistant.
Similar content being viewed by others
References
Augot, D., Pecquet, L.: A Hensel lifting to replace factorization in list-decoding of algebraic-geometric and Reed-Solomon codes. IEEE Trans. Inf. Theory 46(7), 2605–2614 (2000)
Bernstein, D.J.: Simplified high-speed high-distance list decoding for alternant codes. In: Yang, B.-Y. (ed.) PQCrypto, volume 7071 of LNCS, pp. 200–216. Springer (2011)
Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development. Coq’Art: The Calculus of Inductive Constructions. Texts in Theoretical Computer Science. Springer-Verlag (2004)
Bertot, Y., Gonthier, G., Biha, S.O., Pasca, I.: Canonical big operators. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) Theorem Proving in Higher Order Logics, 21st International Conference, TPHOLs 2008, Montreal. Proceedings, volume 5170 of LNCS, pp. 86–101. Springer (2008)
Boespflug, M., Dénès, M, Grégoire, B.: Full Reduction at Full Throttle. In: Jouannaud, J.-P., Shao, Z. (eds.) CPP, volume 7086 of LNCS, pp. 362–377. Springer (2011)
Boneh, D.: Finding smooth integers in short intervals using CRT decoding. J. Comput. Syst. Sci. 64(4), 768–784 (2002)
Brisebarre, N., Joldeş, M., Martin-Dorel, É., Mayero, M., Muller, J.-M., Paşca, I., Rideau, L., Théry, L.: Rigorous polynomial approximation using Taylor models in Coq. In: Goodloe, A., Person, S. (eds.) NASA Formal Methods 2012, volume 7226 of LNCS, pp. 85–99. Springer (2012)
Chrza̧szcz, J.: Implementing modules in the Coq system. In: Basin D.A., Wolff, B. (eds.) TPHOLs, volume 2758 of LNCS, pp. 270–286. Springer (2003)
Chrza̧szcz, J.: Modules in Coq are and will be correct. In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES, volume 3085 of LNCS, pp. 130–146. Springer (2003)
Cohen, C., Dénès, M., Mörtberg, A.: Refinements for free! In: Gonthier, G., Norrish, M. (eds.) CPP, volume 8307 of LNCS, pp. 147–162. Springer (2013)
Coppersmith, D.: Finding a small root of a bivariate integer equation; factoring with high bits known. In: Maurer, M.U.M. (ed) Advances in Cryptology - EUROCRYPT ’96, International Conference on the Theory and Application of Cryptographic Techniques, Saragossa. Proceeding, volume 1070 of LNCS, pp. 178–189. Springer (1996)
Coppersmith, D.: Finding a small root of a univariate modular equation. In: Maurer, M.U.M. (ed.) Advances in Cryptology - EUROCRYPT ’96, International Conference on the Theory and Application of Cryptographic Techniques, Saragossa. Proceeding, volume 1070 of LNCS, pp. 155–165. Springer (1996)
Coppersmith, D.: Small solutions to polynomial equations, and low exponent RSA vulnerabilities. J. Cryptol. 10(4), 233–260 (1997)
The Coq Development Team: The Coq Proof Assistant: Reference Manual: version 8.4pl4, 2014. Available from: http://coq.inria.fr/distrib/current/refman/
Dénès, M., Mörtberg, A., Siles, V.: A refinement-based approach to computational algebra in Coq. In: Beringer, L., Felty, A.P. (eds.) ITP, volume 7406 of LNCS, pp. 83–98. Springer (2012)
Gonthier, G., Mahboubi, A.: A small scale reflection extension for the Coq system. Research Report RR-6455, INRIA (2008)
Gonthier, G., Mahboubi, A.: An introduction to small scale reflection in Coq. J. Formalized Reason. 3(2), 95–152 (2010)
Guruswami, V., Sudan, M.: Improved decoding of Reed-Solomon and algebraic-geometry codes. IEEE Trans. Inf. Theory 45(6), 1757–1767 (1999)
Haftmann, F., Krauss, A., Kuncar, O., Nipkow, T.: Data refinement in Isabelle/HOL. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) Interactive Theorem Proving - 4th International Conference, ITP 2013, Rennes. Proceedings, volume 7998 of LNCS, pp. 100–115. Springer (2013)
Hensel, K: Neue Grundlagen der Arithmetik. J. für die reine und angewandte Mathematik (Crelle’s Journal) 1904(127), 51–84 (1904). doi:10.1515/crll.1904.127.51
Karatsuba, A., Ofman, Y.: Multiplication of many-digital numbers by automatic computers. Doklady Akad. Nauk SSSR 145, 293–294 (1963). Translation in Physics-Doklady, 7,595–596
Kobayashi, H., Suzuki, H., Ono, Y.: Formalization of Hensel’s lemma. In: Theorem Proving in Higher Order Logics: Emerging Trends Proceedings, number PRG-RR-05-02 in Oxford University Computing Laboratory Research Reports, pp. 114–127 (2005)
Lammich, P.: Automatic data refinement. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) Interactive Theorem Proving - 4th International Conference, ITP 2013, Rennes. Proceedings, volume 7998 of LNCS, pp. 84–99. Springer (2013)
Lenstra, A.K., Lenstra, H.W. Jr., Lovász, L.: Factoring polynomials with rational coefficients. Mathematische Annalen 261, 515–534 (1982)
Martin-Dorel, É.: Contributions to the Formal Verification of Arithmetic Algorithms. PhD thesis, École Normale Supérieure de Lyon, Lyon, France, 2012. Available from: http://tel.archives-ouvertes.fr/tel-00745553/en/
Martin-Dorel, É., Mayero, M., Paşca, I., Rideau, L., Théry, L.: Certified, efficient and sharp univariate taylor models in COQ. In: SYNASC 2013, pp. 193–200. IEEE, Timişoara (2013)
Muller, J.-M., Brisebarre, N., de Dinechin, F, Jeannerod, C.-P., Lefèvre, V., Melquiond, G., Revol, N, Stehlé, D., Torres, S.: Handbook of Floating-Point Arithmetic. Birkhäuser, Boston (2010)
Saïbi, A.: Typing algorithm in type theory with inheritance. In: POPL, pp. 292–301 (1997)
Sozeau, M., Oury, N.: First-class type classes. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) Theorem Proving in Higher Order Logics, 21st International Conference, TPHOLs 2008, Montreal. Proceedings, volume 5170 of LNCS, pp. 278–293. Springer (2008)
Stehlé, D.: Algorithmique de la réduction des réseaux et application à la recherche de pires cas pour l’arrondi des fonctions mathématiques. PhD thesis, Université Nancy, 1, Henri Poincaré (2005)
Stehlé, D.: On the randomness of bits generated by sufficiently smooth functions. In: Hess, F., Pauli, S., Pohst, M.E. (eds.) Algorithmic Number Theory, 7th International Symposium, ANTS-VII, Berlin. Proceedings, volume 4076 of LNCS, pp. 257–274. Springer (2006)
Stehlé, D., Lefèvre, V., Zimmermann, P.: Searching worst cases of a one-variable function using lattice reduction. IEEE Trans. Comput. 54 (3), 340–346 (2005)
Steuding, J.: Diophantine Analysis. Chapman & Hall/CRC (2005)
Stewart, G.W.: On the adjugate matrix. Lin. Algebra Appl. 283(1–3), 151–164 (1998)
Joachim von zur, G, Gerhard, J.: Modern Computer Algebra, 2nd edn. Cambridge University Press (2003)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Martin-Dorel, É., Hanrot, G., Mayero, M. et al. Formally Verified Certificate Checkers for Hardest-to-Round Computation. J Autom Reasoning 54, 1–29 (2015). https://doi.org/10.1007/s10817-014-9312-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-014-9312-2