X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic%2Fcic.ml;h=6e200cc310e1559db1e3b1875f6d44a7332294c6;hb=1a40d93d10be4ee71ae9474384af931d70918690;hp=aacaabda95490e4f9e1cfc9df946f6be70e08c8c;hpb=33c27a9941fb0ba8be59e041140aa873b4c4d700;p=helm.git diff --git a/helm/ocaml/cic/cic.ml b/helm/ocaml/cic/cic.ml index aacaabda9..6e200cc31 100644 --- a/helm/ocaml/cic/cic.ml +++ b/helm/ocaml/cic/cic.ml @@ -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 *) ] @@ -215,6 +216,10 @@ and annhypothesis = and anncontext = annhypothesis list ;; +type lazy_term = + context -> metasenv -> CicUniv.universe_graph -> + term * metasenv * CicUniv.universe_graph + type anntarget = Object of annobj (* if annobj is a Constant, this is its type *) | ConstantBody of annobj @@ -222,3 +227,12 @@ type anntarget = | Conjecture of annconjecture | Hypothesis of annhypothesis +module CicHash = + Hashtbl.Make + (struct + type t = term + let equal = (==) + let hash = Hashtbl.hash + end) +;; +