The Matrix Reproved: Verification Pearl

Martin Clochard 1 Léon Gondelman 1 Mário Pereira 1
1 TOCCATA - Certified Programs, Certified Tools, Certified Floating-Point Computations
LRI - Laboratoire de Recherche en Informatique, UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR8623
Abstract : In this paper we describe a complete solution for the first challenge of the VerifyThis 2016 competition held at the 18th ETAPS Forum. We present the proof of two variants for the multiplication of matrices: a naive version using three nested loops and Strassen's algorithm. The proofs are conducted using the Why3 platform for deductive program verification and automated theorem provers to discharge proof obligations. In order to specify and prove the two multiplication algorithms, we develop a new Why3 theory of matrices. In order to prove the matrix identities on which Strassen's algorithm is based, we apply the proof by reflection methodology, which we implement using ghost state.To our knowledge, this is the first time such a methodology is used under an auto-active setting.
Document type :
Journal articles
Liste complète des métadonnées

Cited literature [11 references]  Display  Hide  Download
Contributor : Claude Marché <>
Submitted on : Monday, October 16, 2017 - 3:32:12 PM
Last modification on : Wednesday, October 24, 2018 - 1:14:29 AM
Document(s) archivé(s) le : Wednesday, January 17, 2018 - 1:51:27 PM


Files produced by the author(s)



Martin Clochard, Léon Gondelman, Mário Pereira. The Matrix Reproved: Verification Pearl. Journal of Automated Reasoning, Springer Verlag, 2018, 60 (3), pp.365-383. 〈10.1007/s10817-017-9436-2〉. 〈hal-01617437〉



Record views


Files downloads