]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic/cic.ml
added contextual menu to act over selected terms
[helm.git] / helm / ocaml / cic / cic.ml
index 1c2bf8df0e46d968d703708a33d482ca1e84469d..4b4e0fed9f89f529d1e79f6036572dbc1e2b1874 100644 (file)
@@ -66,8 +66,9 @@ type object_class =
   [ `Coercion
   | `Elim of sort   (** elimination principle; if sort is Type, the universe is
                       * not relevant *)
-  | `Record of string list (** inductive type that encodes a record;
-                               the arguments are the record fields *)
+  | `Record of (string * bool) list (** 
+                        inductive type that encodes a record; the arguments are
+                        the record fields names and if they are coercions *)
   | `Projection     (** record projection *)
   ]
 
@@ -111,7 +112,7 @@ and obj =
     UriManager.uri list * attribute list          (*  parameters              *)
  | Variable of string * term option * term *      (* name, body, type         *)
     UriManager.uri list * attribute list          (* parameters               *)
- | CurrentProof of string * metasenv * term *     (* name, conjectures, value,*)
+ | CurrentProof of string * metasenv * term *     (* name, conjectures, body, *)
     term * UriManager.uri list * attribute list   (*  type, parameters        *)
  | InductiveDefinition of inductiveType list *    (* inductive types,         *)
     UriManager.uri list * int * attribute list    (*  params, left params no  *)
@@ -179,7 +180,7 @@ and annobj =
     UriManager.uri list * attribute list            (*  parameters      *)
  | ACurrentProof of id * id *
     string * annmetasenv *                          (*  name, conjectures,    *)
-    annterm * annterm * UriManager.uri list *       (*  value,type,parameters *)
+    annterm * annterm * UriManager.uri list *       (*  body,type,parameters  *)
     attribute list
  | AInductiveDefinition of id *
     anninductiveType list *                         (* inductive types ,      *)
@@ -222,3 +223,12 @@ type anntarget =
  | Conjecture of annconjecture
  | Hypothesis of annhypothesis
 
+module CicHash =
+ Hashtbl.Make
+  (struct
+    type t = term
+    let equal = (==)
+    let hash = Hashtbl.hash
+   end)
+;;
+