Trusting Computations: a Mechanized Proof from Partial Differential Equations to Actual Program
Sylvie Boldo (LRI, INRIA Saclay - \^Ile-de-France), Fran\c{c}ois, Cl\'ement (Inria Paris-Rocquencourt), Jean-Christophe Filli\^atre (LRI, INRIA, Saclay - \^Ile-de-France), Micaela Mayero (LIPN), Guillaume Melquiond (LRI,, INRIA Saclay - \^Ile-de-France)

TL;DR
This paper presents a comprehensive formal proof that verifies the correctness of a numerical scheme solving the 1D wave equation, bridging the gap from PDE theory to actual program implementation.
Contribution
It extends existing verification methods to fully formalize the correctness and convergence of a numerical PDE solver in a real C program.
Findings
Mechanically verified the convergence of the numerical scheme
Provided the first complete formal proof from PDEs to program implementation
Extended verification tools for scientific computing programs
Abstract
Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring specific accuracy issues due to their massive use of floating-point computations. Yet, it is uncommon to guarantee their correctness. Indeed, we had to extend existing methods and tools for proving the correct behavior of programs to verify an existing numerical analysis program. This C program implements the second-order centered finite difference explicit scheme for solving the 1D wave equation. In fact, we have gone much further as we have mechanically verified the convergence of the numerical scheme in order to get a complete formal proof covering all aspects from partial differential equations to actual numerical results. To the best of our knowledge,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical Methods and Algorithms · Parallel Computing and Optimization Techniques · Polynomial and algebraic computation
