summaryrefslogtreecommitdiff
path: root/contrib/correctness/pcicenv.mli
blob: fc4fa0b97715745751df5e6229eb5537d78043ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
(************************************************************************)
(*  v      *   The Coq Proof Assistant  /  The Coq Development Team     *)
(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
(*   \VV/  **************************************************************)
(*    //   *      This file is distributed under the terms of the       *)
(*         *       GNU Lesser General Public License Version 2.1        *)
(************************************************************************)

(* Certification of Imperative Programs / Jean-Christophe Filliâtre *)

(* $Id: pcicenv.mli,v 1.2.16.1 2004/07/16 19:30:00 herbelin Exp $ *)

open Penv
open Names
open Term
open Sign

(* Translation of local programs environments into Coq signatures.
 * It is mainly used to type the pre/post conditions in the good
 * environment *)

(* cci_sign_of: uniquement les objets purement fonctionnels de l'env. *)
val cci_sign_of : Prename.t -> local_env -> named_context

(* env. Coq avec seulement les variables X de l'env. *)
val now_sign_of : Prename.t -> local_env -> named_context

(* + les variables X@d pour toutes les dates de l'env. *)
val before_sign_of : Prename.t -> local_env -> named_context

(* + les variables `avant' X@ *)
val before_after_sign_of : Prename.t -> local_env -> named_context
val before_after_result_sign_of : ((identifier * constr) option)
                        -> Prename.t -> local_env -> named_context

(* env. des programmes traduits, avec les variables rennomées *)
val trad_sign_of : Prename.t -> local_env -> named_context