X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Focaml%2Fcic_proof_checking%2FcicTypeChecker.mli;h=a845a332d350e9b05b21b4d15da4d04166053742;hb=8aaf525856e25bcd8f355e505fd00f45c62bc18f;hp=93f956143bcfdbc8042e7e444e149b199e03c63b;hpb=7db7305941a97d43480cf58c08a154ed79f300cb;p=helm.git diff --git a/helm/ocaml/cic_proof_checking/cicTypeChecker.mli b/helm/ocaml/cic_proof_checking/cicTypeChecker.mli index 93f956143..a845a332d 100644 --- a/helm/ocaml/cic_proof_checking/cicTypeChecker.mli +++ b/helm/ocaml/cic_proof_checking/cicTypeChecker.mli @@ -23,17 +23,26 @@ * 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.context -> Cic.term -> Cic.term + ?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 +