From b50a9184b9927c36ec53cd4b88d0e2f45f94b4c6 Mon Sep 17 00:00:00 2001 From: filliatr Date: Mon, 9 Apr 2001 07:33:29 +0000 Subject: mise ļæ½ jour V7; biblio Correctness git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@8174 85f007b7-540e-0410-9357-904b9bb8a0f7 --- doc/Extraction.tex | 4 ++-- doc/Programs.tex | 28 +++++++++++++--------------- doc/RefMan-tacex.tex | 6 ++++-- doc/biblio.bib | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 19 deletions(-) diff --git a/doc/Extraction.tex b/doc/Extraction.tex index a9f23768b3..230fa056f4 100755 --- a/doc/Extraction.tex +++ b/doc/Extraction.tex @@ -3,10 +3,10 @@ \aauthor{Jean-Christophe Filliātre and Pierre Letouzey} \index{Extraction} -\begin{center} +\begin{flushleft} \em The status of extraction is experimental \\ Haskell extraction is not yet implemented -\end{center} +\end{flushleft} It is possible to use \Coq\ to build certified and relatively efficient programs, extracting them from the proofs of their diff --git a/doc/Programs.tex b/doc/Programs.tex index e92dd59311..4ff14eb636 100644 --- a/doc/Programs.tex +++ b/doc/Programs.tex @@ -11,17 +11,13 @@ This chapter describes a new tactic to prove the correctness and termination of imperative programs annotated in a Floyd-Hoare logic style. -This tactic is provided in the \Coq\ module \texttt{Programs}, +The theoretical fundations of this tactic are described +in~\cite{Filliatre99,Filliatre00a}. +This tactic is provided in the \Coq\ module \texttt{Correctness}, which does not belong to the initial state of \Coq. So you must import it when necessary, with the following command: $$ -\mbox{\texttt{Require Programs.}} -$$ -If you want to use this tactic with the native-code version of \Coq, -you will have to run the version of \Coq\ with all the tactics, through -the command -$$ -\mbox{\texttt{coqtop -full}} +\mbox{\texttt{Require Correctness.}} $$ \emph{Be aware that this tactic is still very experimental}. @@ -70,7 +66,7 @@ vernacular command (which creates the goal from the annotated program) and a tactic (which partially solves it, leaving some proof obligations to the user). -Whereas \texttt{Correctness} is not a tactic, the following syntax is +Although \texttt{Correctness} is not a tactic, the following syntax is available: $$ \mbox{\tt Correctness} ~~ ident ~~ annotated\_program ~ ; ~ tactic. @@ -484,7 +480,7 @@ $\forall x,y:\texttt{Z}. \exists b:\texttt{bool}. (\myifthenelse{b}{x