summaryrefslogtreecommitdiff
path: root/kernel/cooking.mli
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/cooking.mli')
-rw-r--r--kernel/cooking.mli42
1 files changed, 42 insertions, 0 deletions
diff --git a/kernel/cooking.mli b/kernel/cooking.mli
new file mode 100644
index 00000000..54526e99
--- /dev/null
+++ b/kernel/cooking.mli
@@ -0,0 +1,42 @@
+(************************************************************************)
+(* 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 *)
+(************************************************************************)
+
+(*i $Id: cooking.mli,v 1.9.8.1 2004/07/16 19:30:24 herbelin Exp $ i*)
+
+open Names
+open Term
+open Declarations
+open Environ
+open Univ
+
+(*s Cooking the constants. *)
+
+type 'a modification =
+ | NOT_OCCUR
+ | DO_ABSTRACT of 'a * constr array
+ | DO_REPLACE of constant_body
+
+type work_list =
+ (constant * constant modification) list
+ * (inductive * inductive modification) list
+ * (constructor * constructor modification) list
+
+type recipe = {
+ d_from : constant_body;
+ d_abstract : identifier list;
+ d_modlist : work_list }
+
+val cook_constant :
+ env -> recipe -> constr_substituted option * constr * constraints * bool
+
+(*s Utility functions used in module [Discharge]. *)
+
+val expmod_constr : work_list -> constr -> constr
+val expmod_type : work_list -> types -> types
+
+