To: seminaire-gallium-moscova@inria.fr
From: Francois.Pottier@inria.fr
Subject: SEM - INRIA : Gallium - 16/03/07 - Paris - FR
Vous pouvez vous abonner à nos annonces de séminaires
http://pauillac.inria.fr/seminaires/
S E M I N A I R E
__
/ _` _ / / o /| /| __ __ __ __ _ _
/ ) __) / / / / / /\/| ----- / |/ | / )(_ / / ) ) ) __)
(___/ (_/ (_ (_ / (__/ / | / | (__/ __)(_ (__/ (_/ (_/
I N R I A - Rocquencourt
Amphi Turing du bâtiment 1
Vendredi 16 mars, 10h30
---------------
Matthieu Sozeau
---------------
LRI
==================
Program-ing in Coq
==================
There exist different methods for developing certified programs in the
Coq environment. The standard one is to use Coq's language as a purely
functional version of ML using simple types and prove properties about
them in the usual way. Another lesser-known approach is to use the
complete Coq language to specify and implement programs, making
invariants, pre- and postconditions appear in the types of terms. This
method is generally overlooked because it is difficult to cope with in
practice as algorithms and proofs become entangled. Program tries to
solve this problem by reconciling the two approaches. It consists of a
language (Russell) which permits writing purely algorithmical code, a
sound translation from Russell terms to Coq terms which generates
proof obligations and a mechanism for handling these. I will present
these three components then delve into an example of using Program to
build a certified implementation of the Finger Tree data structure of
Hinze & Paterson.