]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/cic_proof_checking/cicTypeChecker.mli
Missing check implemented: the sort of each constructors should be constrained
[helm.git] / helm / software / components / cic_proof_checking / cicTypeChecker.mli
index e9419171e906140ea1c9685ff56e7deba12858d9..98cb72ad773577cd9d2b2e5dc3952dbdf57bc657 100644 (file)
@@ -34,7 +34,8 @@ exception AssertFailure of string Lazy.t
    output). The callback is used to relocalize the error messages *)
 val debrujin_constructor :
  ?cb:(Cic.term -> Cic.term -> unit) ->
-  UriManager.uri -> int -> Cic.term -> Cic.term
+ ?check_exp_named_subst: bool ->
+  UriManager.uri -> int -> Cic.context -> Cic.term -> Cic.term
 
 val typecheck : UriManager.uri -> Cic.obj * CicUniv.universe_graph
 
@@ -46,7 +47,9 @@ val type_of_aux':
   Cic.term -> CicUniv.universe_graph -> 
   Cic.term * CicUniv.universe_graph
 
-(* typechecks the obj and puts it in the environment *)
+(* typechecks the obj and puts it in the environment
+ * empty universes are filed with the given uri, thus you should
+ * get the object again after calling this *)
 val typecheck_obj : UriManager.uri -> Cic.obj -> unit
 
 (* check_allowed_sort_elimination uri i s1 s2
@@ -59,3 +62,8 @@ val typecheck_obj : UriManager.uri -> Cic.obj -> unit
         of the MutCase) *)
 val check_allowed_sort_elimination:
  UriManager.uri -> int -> Cic.sort -> Cic.sort -> bool
+
+(* does_not_occur ~subst context n nn t
+   checks if the semi-open interval of Rels (n,nn] occurs in t *)
+val does_not_occur:
+ ?subst:Cic.substitution -> Cic.context -> int -> int -> Cic.term -> bool