Extraction de code fonctionnel certifié à partir de spécifications inductives - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2013

Extraction of Certified Functional Code from Inductive Specifications

Extraction de code fonctionnel certifié à partir de spécifications inductives

Résumé

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 advantages and drawbacks. Relational style may be preferred because it allows the user to describe only what is true, discard momentarily the termination question, and stick to a rule-based description. However, a relational specification is usually not executable.We propose a general framework to turn an inductive specification into a functional one, by extracting a function from the former and eventually 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.We also provide two implementations of our approach, one in the Coq proof assistant and the other in the Focalize environnement. Both are currently distributed with the respective tools.
Les outils d’aide à la preuve basés sur la théorie des types permettent à l’utilisateur d’adopter soit un style fonctionnel, soit un style relationnel (c’est-à-dire en utilisant des types inductifs). Chacun des deux styles a des avantages et des inconvénients. Le style relationnel peut être préféré parce qu’il permet à l’utilisateur de décrire seulement ce qui est vrai, de s’abstraire temporairement de la question de la terminaison, et de s’en tenir à une description utilisant des règles. Cependant, une spécification relationnelle n’est pas exécutable.Nous proposons un cadre général pour transformer une spécification inductive en une spécification fonctionnelle, en extrayant à partir de la première une fonction et en produisant éventuellement la preuve de correction de la fonction extraite par rapport à sa spécification inductive. De plus, à partir de modes définis par l’utilisateur, qui permettent de considérer les arguments de la relation comme des entrées ou des sorties (de fonction), nous pouvons extraire plusieurs comportements calculatoires à partir d’un seul type inductif.Nous fournissons également deux implantations de notre approche, l’une dans l’outil d’aide à la preuve Coq et l’autre dans l’environnement Focalize. Les deux sont actuellement distribuées avec leurs outils respectifs.
Fichier principal
Vignette du fichier
These_TOLLITTE.pdf (1.02 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)
Loading...

Dates et versions

tel-00968607 , version 1 (01-04-2014)

Identifiants

  • HAL Id : tel-00968607 , version 1

Citer

Pierre-Nicolas Tollitte. Extraction de code fonctionnel certifié à partir de spécifications inductives. Informatique et langage [cs.CL]. Conservatoire national des arts et metiers - CNAM, 2013. Français. ⟨NNT : 2013CNAM0895⟩. ⟨tel-00968607⟩
275 Consultations
495 Téléchargements

Partager

Gmail Facebook X LinkedIn More