]> 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 28a34f5ff8354762716243f34ef88d17ce07a16a..ef089cabf1a433023d01749a884b7808ef3018e4 100644 (file)
  * http://cs.unibo.it/helm/.
  *)
 
-exception NotRefinable of string
-exception Uncertain of string
-exception WrongUriToConstant of string
-exception WrongUriToVariable of string
-exception WrongUriToMutualInductiveDefinitions 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 computed substitution and 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 ->
-  Cic.term * Cic.term * Cic.metasenv
+ 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