A Proof of GMP Square Root

  • Authors:
  • Yves Bertot;Nicolas Magaud;Paul Zimmermann

  • Affiliations:
  • INRIA;INRIA;INRIA

  • Venue:
  • Journal of Automated Reasoning
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a formal proof (at the implementation level) of an efficient algorithm proposed by P. Zimmermann in 1999 to compute square roots of arbitrarily large integers. This program, which is part of the GNU Multiple Precision Arithmetic Library, is completely proven within the COQ system. Proofs are developed using the CORRECTNESS tool to deal with imperative features of the program. The formalization is rather large (more than 13,000 lines) and requires some advanced techniques for proof management and reuse.