Skip to Main content Skip to Navigation
New interface

De nouveaux outils pour calculer avec des inductifs en Coq

Pierre Boutillier 1, 2 
1 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 : The dependently typed lambda-calculus with algebraic datastructures is a programming language with very few primitives but a huge expressivity. The Coq proof assistant is built over one variant of this language, the CIC. Its semantics is extremely clear but it is verbose. Therefore, users do not write programs directly in CIC. Instead, Coq provides tools to elaborate programs incrementally using higher level constructions. Especially, mixing algebraic and dependent types increases the power and the difficulty of case analysis. Each case has a different type depending of the type of the constructor. Some cases are even impossible because of typing. These type casts and impossibility witnesses are explicit in CIC terms but they can be built mechanically. This thesis gives an algorithm to achieve this automation. As far as feedback from the system is concerned, interaction with human asks for a way to compute Coq programs without making their syntactical length explode. This thesis propose a new abstract machine designed for this purpose. Fixpoints provide a convenient way to deal with recursive datastructures. Nevertheless, ensuring their computation does not diverge on any entry is a challenging issue. It is tackled by the last chapter of this thesis.
Document type :
Complete list of metadata

Cited literature [1 references]  Display  Hide  Download
Contributor : Pierre Boutillier Connect in order to contact the contributor
Submitted on : Friday, August 8, 2014 - 11:47:53 AM
Last modification on : Friday, January 21, 2022 - 3:22:29 AM
Long-term archiving on: : Wednesday, November 26, 2014 - 4:00:56 PM


  • HAL Id : tel-01054723, version 1



Pierre Boutillier. De nouveaux outils pour calculer avec des inductifs en Coq. Langage de programmation [cs.PL]. Université Paris-Diderot - Paris VII, 2014. Français. ⟨NNT : ⟩. ⟨tel-01054723⟩



Record views


Files downloads