Subset Coercions in Coq - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Article Dans Une Revue Lecture Notes in Computer Science Année : 2007

Subset Coercions in Coq

Résumé

We propose a new language for writing programs with dependent types on top of the Coq proof assistant. This language permits to establish a phase distinction between writing and proving algorithms in the Coq environment. Concretely, this means allowing to write algorithms as easily as in a practical functional programming language whilst giving them as rich a specification as desired and proving that the code meets the specification using the whole Coq proof apparatus. This is achieved by extending conversion to an equivalence which relates types and subsets based on them, a technique originating from the "Predicate subtyping" feature of PVS and following mathematical convention. The typing judgements can be translated to the (CIC) by means of an interpretation which inserts coercions at the appropriate places. These coercions can contain existential variables representing the propositional parts of the final term, corresponding to proof obligations (or PVS type-checking conditions). A prototype implementation of this process is integrated with the Coq environment.

Dates et versions

inria-00628869 , version 1 (04-10-2011)

Identifiants

Citer

Matthieu Sozeau. Subset Coercions in Coq. Lecture Notes in Computer Science, 2007, 4502, pp.237-252. ⟨10.1007/978-3-540-74464-1_16⟩. ⟨inria-00628869⟩
74 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More