Producing Certified Functional Code from Inductive Specifications - Archive ouverte HAL Access content directly
Conference Papers Year : 2012

Producing Certified Functional Code from Inductive Specifications


Proof assistants based on type theory allow the user to adopt either a functional style, or a relational style (e.g., by using inductive types). Both styles have pros and cons. Relational style may be pre- ferred because it allows the user to describe only what is true, discard momentarily the termination question, and stick to a rule-based descrip- tion. However, a relational specification is usually not executable. This paper proposes to turn an inductive specification into a functional one, in the logical setting itself, more precisely Coq in this work. We define for a certain class of inductive specifications a way to extract functions from them and automatically produce the proof of soundness of the extracted function w.r.t. its inductive specification. In addition, using user-defined modes which label inputs and outputs, we are able to extract several computational contents from a single inductive type.
Not file

Dates and versions

hal-01126212 , version 1 (06-03-2015)


  • HAL Id : hal-01126212 , version 1


Pierre-Nicolas Tollitte, David Delahaye, Catherine Dubois. Producing Certified Functional Code from Inductive Specifications. International Conference on Certified Programs and Proofs (CPP 2012), Dec 2012, Kyoto, Japan. pp.76-91. ⟨hal-01126212⟩


86 View
0 Download


Gmail Facebook Twitter LinkedIn More