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 :
Theses
Complete list of metadatas

Cited literature [1 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01054723
Contributor : Pierre Boutillier <>
Submitted on : Friday, August 8, 2014 - 11:47:53 AM
Last modification on : Friday, January 4, 2019 - 5:33:25 PM
Long-term archiving on : Wednesday, November 26, 2014 - 4:00:56 PM

Identifiers

  • HAL Id : tel-01054723, version 1

Collections

Citation

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. ⟨tel-01054723⟩

Share

Metrics

Record views

621

Files downloads

511