]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_unification/cicRefine.mli
ocaml 3.09 transition
[helm.git] / helm / ocaml / cic_unification / cicRefine.mli
index 4289905c80de8e35a54e2e2821fdb1f4de68ab6a..ef089cabf1a433023d01749a884b7808ef3018e4 100644 (file)
  * http://cs.unibo.it/helm/.
  *)
 
-exception RefineFailure of string;;
-exception Uncertain of string;;
-exception AssertFailure of string;;
+exception RefineFailure of string Lazy.t;;
+exception Uncertain of string Lazy.t;;
+exception AssertFailure of string Lazy.t;;
 
-(* type_of_aux' metasenv context term                        *)
-(* refines [term] and returns the refined form of [term],    *)
-(* its type the new metasenv. *)
+(* type_of_aux' metasenv context term graph                *)
+(* refines [term] and returns the refined form of [term],  *)
+(* its type, the new metasenv and universe graph.          *)
 val type_of_aux':
  Cic.metasenv -> Cic.context -> Cic.term -> CicUniv.universe_graph ->
   Cic.term * Cic.term * Cic.metasenv * CicUniv.universe_graph
+
+(* typecheck metasenv uri obj graph                     *)
+(* refines [obj] and returns the refined form of [obj], *)
+(* the new metasenv and universe graph.                 *)
+(* the [uri] is required only for inductive definitions *)
+val typecheck : 
+ Cic.metasenv -> UriManager.uri option -> Cic.obj ->
+  Cic.obj * Cic.metasenv * CicUniv.universe_graph