Wave equation numerical resolution: a comprehensive mechanized proof of a C program

From MaRDI portal
Publication:352952

DOI10.1007/S10817-012-9255-4zbMATH Open1267.68208arXiv1112.1795OpenAlexW2147177731MaRDI QIDQ352952FDOQ352952


Authors: Sylvie Boldo, François Clément, Jean-Christophe Filliâtre, Micaela Mayero, Guillaume Melquiond, Pierre Weis Edit this on Wikidata


Publication date: 5 July 2013

Published in: Journal of Automated Reasoning (Search for Journal in Brave)

Abstract: 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.


Full work available at URL: https://arxiv.org/abs/1112.1795




Recommendations




Cites Work


Cited In (24)

Uses Software





This page was built for publication: Wave equation numerical resolution: a comprehensive mechanized proof of a C program

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q352952)