The Matrix Reproved: Verification Pearl

Martin Clochard 1 Léon Gondelman 1 Mário Pereira 1
1 TOCCATA - Formally Verified Programs, Certified Tools and Numerical Computations
LRI - Laboratoire de Recherche en Informatique, Inria Saclay - Ile de France
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
Complete list of metadatas

Cited literature [11 references]  Display  Hide  Download

https://hal.inria.fr/hal-01617437
Contributor : Claude Marché <>
Submitted on : Monday, October 16, 2017 - 3:32:12 PM
Last modification on : Thursday, October 3, 2019 - 2:04:03 PM
Long-term archiving on : Wednesday, January 17, 2018 - 1:51:27 PM

File

main.pdf
Files produced by the author(s)

Identifiers

Citation

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⟩

Share

Metrics

Record views

321

Files downloads

128