aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/evd.mli
diff options
context:
space:
mode:
authorGravatar filliatr <filliatr@85f007b7-540e-0410-9357-904b9bb8a0f7>1999-08-17 14:05:47 +0000
committerGravatar filliatr <filliatr@85f007b7-540e-0410-9357-904b9bb8a0f7>1999-08-17 14:05:47 +0000
commitc85ed98ae100c524bb572ebbfd2f4228a11932be (patch)
treeb461527c8fb68d464f3cea9832787e8352421c10 /kernel/evd.mli
parent6b2bb43c4eb815af8f7128b2f2848157c6b020d7 (diff)
generic, term et evd
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'kernel/evd.mli')
-rw-r--r--kernel/evd.mli37
1 files changed, 37 insertions, 0 deletions
diff --git a/kernel/evd.mli b/kernel/evd.mli
new file mode 100644
index 000000000..cb606941c
--- /dev/null
+++ b/kernel/evd.mli
@@ -0,0 +1,37 @@
+
+(* $Id$ *)
+
+open Names
+open Term
+open Sign
+
+(* The type of mappings for existential variables *)
+
+type evar_body =
+ | EVAR_EMPTY
+ | EVAR_DEFINED of constr
+
+type 'a evar_info = {
+ concl : constr; (* the type of the evar ... *)
+ hyps : context; (* ... under a certain signature *)
+ body : evar_body; (* its definition *)
+ info : 'a option (* any other possible information necessary *)
+}
+
+type 'a evar_map
+
+val dom : 'c evar_map -> section_path list
+val map : 'c evar_map -> section_path -> 'c evar_info
+val rmv : 'c evar_map -> section_path -> 'c evar_map
+val remap : 'c evar_map -> section_path -> 'c evar_info -> 'c evar_map
+val in_dom : 'c evar_map -> section_path -> bool
+val toList : 'c evar_map -> (section_path * 'c evar_info) list
+
+val mt_evd : 'c evar_map
+val add_with_info : 'a evar_map -> section_path -> 'a evar_info -> 'a evar_map
+val add_noinfo : 'a evar_map -> section_path -> context ->
+ constr -> 'a evar_map
+val define : 'a evar_map -> section_path -> constr -> 'a evar_map
+
+val non_instantiated : 'a evar_map -> (section_path * 'a evar_info) list
+val is_evar : 'a evar_map -> section_path -> bool