Application Domains
New Software and Platforms
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Bibliography
 PDF e-Pub

## Section: New Results

### Certification of Algorithms, Languages, Tools and Systems

Formalization and closedness of finite dimensional subspaces.

F. Faissole formalized a theory of finite dimensional subspaces of Hilbert spaces in order to apply the Lax-Milgram Theorem on such subspaces. He had to prove, in the Coq proof assistant, that finite dimensional subspaces of Hilbert spaces are closed in the context of general topology using filters [90]. He also formalized both finite dimensional modules and finite dimensional subspaces of modules. He compared the two formalizations and showed a complementarity between them. He proved that the product of two finite dimensional modules is a finite dimensional module [22].

Analysis of explicit Runge-Kutta methods

Numerical integration schemes are mandatory to understand complex behaviors of dynamical systems described by ordinary differential equations. Implementation of these numerical methods involve floating-point computations and propagation of round-off errors. In the spirit of [58], S. Boldo, F. Faissole and A. Chapoutot developed a fine-grained analysis of round-off errors in explicit Runge-Kutta integration methods, taking into account exceptional behaviors, such as underflow and overflow [31].

Verified numerical approximations of improper definite integrals.

The CoqInterval library provides some tactics for computing and formally verifying numerical approximations of real-valued expressions inside the Coq system. In particular, it is able to compute reliable bounds on proper definite integrals [113]. A. Mahboubi, G. Melquiond, and T. Sibut-Pinote extended these algorithms to also cover some improper integrals, e.g., those with an unbounded integration domain [15]. This makes CoqInterval one of the very few tools able to produce reliable results for improper integrals, be they formally verified or not.

Case study: algorithms for matrix multiplication.

M. Clochard, L. Gondelman and M. Pereira worked on a case study about matrix multiplication. Two variants for the multiplication of matrices are proved: a naive version using three nested loops and Strassen's algorithm. To formally specify the two multiplication algorithms, they developed a new Why3 theory of matrices, and they applied a reflection methodology to conduct some of the proofs. A first version of this work was presented at the VSTTE Conference in 2016 [74]. An extended version that considers arbitrary rectangular matrices instead of square ones is published in the Journal of Automated Reasoning [13]. The development is available in Toccata's gallery http://toccata.lri.fr/gallery/verifythis_2016_matrix_multiplication.en.html.

Digital Filters

Digital filters are small iterative algorithms, used as basic bricks in signal processing (filters) and control theory (controllers). D. Gallois-Wong, S. Boldo and T. Hilaire formally proved in Coq some error analysis theorems about digital filters, namely the Worst-Case Peak Gain theorem and the existence of a filter characterizing the difference between the exact filter and the implemented one. Moreover, as the digital signal processing literature provides many equivalent algorithms, called realizations, they formally defined and proved the equivalence of several realizations (Direct Forms and State-Space) [19]. Another Coq development dedicated the a realization called SIF (Specialized Implicit Form) has been done, in order to encompass all the other realizations up to the order of computation, which is very important in finite precision [25].