5 research outputs found
Wave Equation Numerical Resolution: a Comprehensive Mechanized Proof of a C Program
We formally prove correct a C program that implements a numerical scheme for
the resolution of the one-dimensional acoustic wave equation. Such an
implementation introduces errors at several levels: the numerical scheme
introduces method errors, and floating-point computations lead to round-off
errors. We annotate this C program to specify both method error and round-off
error. We use Frama-C to generate theorems that guarantee the soundness of the
code. We discharge these theorems using SMT solvers, Gappa, and Coq. This
involves a large Coq development to prove the adequacy of the C program to the
numerical scheme and to bound errors. To our knowledge, this is the first time
such a numerical analysis program is fully machine-checked.Comment: No. RR-7826 (2011
Real Automation in the Field
We provide a package of strategies for automation of non-linear arithmetic in PVS. In particular, we describe a simplication procedure for the field of real numbers and a strategy for cancellation of common terms
Combining Coq and Gappa for Certifying Floating-Point Programs
Formal verification of numerical programs is notoriously difficult. On the one hand, there exist automatic tools specialized in floating-point arithmetic, such as Gappa, but they target very restrictive logics. On the other hand, there are interactive theorem provers based on the LCF approach, such as Coq, that handle a general-purpose logic but that lack proof automation for floating-point properties. To alleviate these issues, we have implemented a mechanism for calling Gappa from a Coq interactive proof. This paper presents this combination and shows on several examples how this approach offers a significant speedup in the process of verifying floating-point programs
Formal Proof of a Wave Equation Resolution Scheme: the Method Error
Popular finite difference numerical schemes for the resolution of the
one-dimensional acoustic wave equation are well-known to be convergent. We
present a comprehensive formalization of the simplest one and formally prove
its convergence in Coq. The main difficulties lie in the proper definition of
asymptotic behaviors and the implicit way they are handled in the mathematical
pen-and-paper proofs. To our knowledge, this is the first time such kind of
mathematical proof is machine-checked.Comment: This paper has been withdrawn by the authors. Please refere to
arXiv:1005.082