Computer Arithmetic and Formal Proofs

Computer Arithmetic and Formal Proofs

Verifying Floating-point Algorithms with the Coq System

1st Edition - November 16, 2017

Write a review

  • Authors: Sylvie Boldo, Guillaume Melquiond
  • Hardcover ISBN: 9781785481123
  • eBook ISBN: 9780081011706

Purchase options

Purchase options
DRM-free (PDF, EPub, Mobi)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


Floating-point arithmetic is ubiquitous in modern computing, as it is the tool of choice to approximate real numbers. Due to its limited range and precision, its use can become quite involved and potentially lead to numerous failures. One way to greatly increase confidence in floating-point software is by computer-assisted verification of its correctness proofs. This book provides a comprehensive view of how to formally specify and verify tricky floating-point algorithms with the Coq proof assistant. It describes the Flocq formalization of floating-point arithmetic and some methods to automate theorem proofs. It then presents the specification and verification of various algorithms, from error-free transformations to a numerical scheme for a partial differential equation. The examples cover not only mathematical algorithms but also C programs as well as issues related to compilation. 

Key Features

  • Describes the notions of specification and weakest precondition computation and their practical use
  • Shows how to tackle algorithms that extend beyond the realm of simple floating-point arithmetic
  • Includes real analysis and a case study about numerical analysis


Graduate students in computer science; Researchers in either computer arithmetic or formal verification

Table of Contents

  • 1. Floating-Point Arithmetic
    2. The Coq System
    3. Formalization of Formats and Basic Operators
    4. Automated Methods
    5. Error-Free Computations and Applications
    6. Example Proofs of Advanced Operators
    7. Compilation of FP Programs
    8. Deductive Program Verification
    9. Real and Numerical Analysis

Product details

  • No. of pages: 326
  • Language: English
  • Copyright: © ISTE Press - Elsevier 2017
  • Published: November 16, 2017
  • Imprint: ISTE Press - Elsevier
  • Hardcover ISBN: 9781785481123
  • eBook ISBN: 9780081011706

About the Authors

Sylvie Boldo

Sylvie Boldo is a Research Director at INRIA in Orsay, France.

Affiliations and Expertise

INRIA, France

Guillaume Melquiond

Guillaume Melquiond is a Researcher at INRIA in Orsay, France.

Affiliations and Expertise

INRIA, France

Ratings and Reviews

Write a review

Latest reviews

(Total rating for all reviews)

  • SamuelPollard Wed Mar 25 2020

    Comprehensive floating point formalization

    This is a great project. The book describes the motivation behind how exactly to formalize floating point numbers in Coq. For those not familiar with Coq, there is a brief introduction, but this book is not complete introduction to Coq. The style is slightly in the literate-programming style, but with mostly complete definitions (some are simplified for purposes of exposition), and with proofs elided. The first three chapters describe Coq, floating point, and the Flocq basics, and the rest of the book describes applications of Flocq. This, paired with "Handbook of floating point arithmetic, 2nd edition" has all you need to know about floating point arithmetic. The book includes many informal proofs of the important results and explains the overall structure of the formal proofs, but the formal proofs are complex and difficult to follow (looking at the Flocq source code). There is relatively little proof automation in the source code which, with my limited experience in Coq, means I've struggled expanding and using Flocq. This is not so much a criticism of this book but rather of the challenges just starting to be addressed with the new field of proof engineering.