Skip to Main content Skip to Navigation

Conception et implémentation d'un système d'aide à la spécification et à la preuve de programmes ML

Abstract : One should not underestimate the import of being able to verify the conformance between a program and its specification. Furthermore, being able to verify it using a dedicated program allows one to check the correctness of this verification. For this purpose, one uses proof assistants, which are programs that allows to describe the problem, build proofs, then check them. There are more than one way to achieve this goal : one could either generate the program from its specification ; one could use an annotated program which carries the specification and hints on how to prove the conformance, then check it afterwards ; or one could start from the specification and the program, then prove the conformance of the latter with respect to the first. For our system, we chose the last approach. We implemented a system in which the user describes the speci- fication of a program in a dedicated logical framework, then writes the program in the ML programming language, restricted to the functional subset (with pattern matching, inductive definitions and partial functions), then, after all, interactively builds the proof of conformance of the program with respect to its specification. There are three different aspects in our work : – formalization of a logical framework dedicated to the verification of programs written in the functional part of ML; – precize specification of the proof assistant, its user interface, and the protocol used by both in order to communicate ; – the implementation of the proof assistant in Objective Caml, using an original architecture which mixes object oriented programming and functional programming. All these elements may be found in this document, including a precize description of the implementation, the choices we made and the reasons of these choices. The reader will also find here a description on how to use our system, and some examples of problems handled with it.
Document type :
Complete list of metadatas

Cited literature [60 references]  Display  Hide  Download
Contributor : Sylvain Baro <>
Submitted on : Wednesday, February 9, 2005 - 10:06:35 AM
Last modification on : Saturday, March 28, 2020 - 2:24:10 AM
Long-term archiving on: : Friday, April 2, 2010 - 9:51:10 PM


  • HAL Id : tel-00008416, version 1



Sylvain Baro. Conception et implémentation d'un système d'aide à la spécification et à la preuve de programmes ML. Autre [cs.OH]. Université Paris-Diderot - Paris VII, 2003. Français. ⟨tel-00008416⟩



Record views


Files downloads