]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_proof_checking/cicTypeChecker.mli
fix
[helm.git] / helm / ocaml / cic_proof_checking / cicTypeChecker.mli
index 8c0354398e4d375d21eacdf59d9e1940c3818aef..a845a332d350e9b05b21b4d15da4d04166053742 100644 (file)
  * http://cs.unibo.it/helm/.
  *)
 
-exception NotWellTyped of string
-exception WrongUriToConstant of string
-exception WrongUriToVariable of string
-exception WrongUriToMutualInductiveDefinitions of string
-exception ListTooShort
-exception NotPositiveOccurrences of string
-exception NotWellFormedTypeOfInductiveConstructor of string
-exception WrongRequiredArgument of string
-val typecheck : UriManager.uri -> unit
-
-(* used only in the toplevel *)
+(* These are the only exceptions that will be raised *)
+exception TypeCheckerFailure of string
+exception AssertFailure of string
+
+val debrujin_constructor : UriManager.uri -> int -> Cic.term -> Cic.term
+
+val typecheck : UriManager.uri -> Cic.obj * CicUniv.universe_graph
+
+(* FUNCTIONS USED ONLY IN THE TOPLEVEL *)
+
 (* type_of_aux' metasenv context term *)
-val type_of_aux': (int * Cic.term) list -> Cic.term list -> Cic.term -> Cic.term
+val type_of_aux':
+  ?subst:Cic.substitution -> Cic.metasenv -> Cic.context -> 
+  Cic.term -> CicUniv.universe_graph -> 
+  Cic.term * CicUniv.universe_graph
+
+(* does_not_occur context lower upper term                  *)
+(* searches for a Cic.Rel i in term with lower < i <= upper *)
+val does_not_occur : Cic.context -> int -> int -> Cic.term -> bool
+
+(* typechecks the obj and puts it in the environment *)
+val typecheck_obj : UriManager.uri -> Cic.obj -> unit
+