Skip to Main content Skip to Navigation

Développement modulaire de théories et gestion de l'espace de nom pour l'assistant de preuve Coq.

Elie Soubiran 1, 2
2 PI.R2 - Design, study and implementation of languages for proofs and programs
PPS - Preuves, Programmes et Systèmes, Inria Paris-Rocquencourt, UPD7 - Université Paris Diderot - Paris 7, CNRS - Centre National de la Recherche Scientifique : UMR7126
Abstract : Proof assistants offer a formal framework for formalizing and mechanically checking mathematical knowledge. Moreover, due to the numerous applications that follow from formal methods, the scientifc production being formalized and verified by such tools is constantly growing. In that context, the organization and the classification of this knowledge does not have to be neglected. Coq is a proof assistant well-suited for program certification and mathematical formalization, and for seven years now it has featured a module system that helps users in their development processes. Modules provide a way to represent theories and offer a namespace management that is crucial for large developments. In this dissertation, we advance the module system of Coq by putting the emphasis on the two latter aspects. We propose to unify both module implementation and module type into a single notion of structure, and to split our module system in two parts. We have, on one hand, a namespace system that is able to define extensible naming scopes and to deal with renaming, and on the other hand a structure system that describes how to combine and to form structures. We define a new merge operator that, given two structures, builds the resulting structure by unifying components of the former two. In that dual system, a module is the association of a sub-namespace and a pair of structures, it acts as concrete declared theory. Furthermore, we adopt an applicative semantic for higher-order functors that allows a precise propagation of information. We show that this module system is a conservative extension of the underlying base language of Coq and we present the on-going implementation.
Mots-clés : Module system namespace Coq
Complete list of metadatas

Cited literature [5 references]  Display  Hide  Download
Contributor : Elie Soubiran <>
Submitted on : Thursday, March 15, 2012 - 12:55:06 PM
Last modification on : Friday, March 27, 2020 - 3:16:54 AM
Long-term archiving on: : Monday, November 26, 2012 - 11:00:29 AM


  • HAL Id : tel-00679201, version 1



Elie Soubiran. Développement modulaire de théories et gestion de l'espace de nom pour l'assistant de preuve Coq.. Langage de programmation [cs.PL]. Ecole Polytechnique X, 2010. Français. ⟨tel-00679201⟩



Record views


Files downloads