Programming with Dependent Types in Coq: a Study of Square Matrices

Nicolas Magaud 1, *
* Auteur correspondant
Abstract : The Coq proof system allows users to write (functional) programs and to reason about them in a formal way. We study how to program using dependently typed data structures in such a setting. Using dependently typed data structures enables programmers to have more precise specifications for their programs before starting proving any significant properties (e.g. total correctness) about these programs. We particularly focus on an operational description of square matrices and their operations. Matrices are represented using dependent types. A matrix is a vector of rows,which are themselves vectors indexed by natural numbers. We also take advantage of Coq modules system to have matrices parametrised by a carrier set. Finally, this operational description can be extracted into a mainstream functional programming language like Ocaml.
Type de document :
Pré-publication, Document de travail
Unpublished, but worth reading. 2004
Liste complète des métadonnées
Contributeur : Nicolas Magaud <>
Soumis le : mardi 4 mars 2014 - 15:04:06
Dernière modification le : lundi 15 janvier 2018 - 12:20:02
Document(s) archivé(s) le : mercredi 4 juin 2014 - 11:42:21


Fichiers produits par l'(les) auteur(s)


  • HAL Id : hal-00955444, version 1


Nicolas Magaud. Programming with Dependent Types in Coq: a Study of Square Matrices. Unpublished, but worth reading. 2004. 〈hal-00955444〉



Consultations de la notice


Téléchargements de fichiers