Refinements for Free!

Abstract : Formal verification of algorithms often requires a choice be-tween definitions that are easy to reason about and definitions that are computationally efficient. One way to reconcile both consists in adopt-ing a high-level view when proving correctness and then refining stepwise down to an efficient low-level implementation. Some refinement steps are interesting, in the sense that they improve the algorithms involved, while others only express a switch from data representations geared towards proofs to more efficient ones geared towards computations. We relieve the user of these tedious refinements by introducing a framework where correctness is established in a proof-oriented context and automatically transported to computation-oriented data structures. Our design is gen-eral enough to encompass a variety of mathematical objects, such as rational numbers, polynomials and matrices over refinable structures. Moreover, the rich formalism of the Coq proof assistant enables us to develop this within Coq, without having to maintain an external tool.
Liste complète des métadonnées

Cited literature [26 references]  Display  Hide  Download

https://hal.inria.fr/hal-01113453
Contributor : Cyril Cohen <>
Submitted on : Thursday, February 5, 2015 - 2:52:18 PM
Last modification on : Thursday, January 11, 2018 - 4:22:46 PM
Document(s) archivé(s) le : Wednesday, May 6, 2015 - 10:21:25 AM

File

refinements.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Cyril Cohen, Maxime Dénès, Anders Mörtberg. Refinements for Free!. Certified Programs and Proofs, Dec 2013, Melbourne, Australia. pp.147 - 162, ⟨10.1007/978-3-319-03545-1_10⟩. ⟨hal-01113453⟩

Share

Metrics

Record views

427

Files downloads

312