]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_kernel/nCicUntrusted.mli
...
[helm.git] / helm / software / components / ng_kernel / nCicUntrusted.mli
index 9f5ab0fd5b8497c2d29293288784df8e37761673..702f8fc19fe5d0f31f7738b2d31aaeb306e607b8 100644 (file)
@@ -19,12 +19,16 @@ val map_obj_kind:
   ?skip_body:bool -> (NCic.term -> NCic.term) -> NCic.obj_kind -> NCic.obj_kind
 
 val metas_of_term : NCic.substitution -> NCic.context -> NCic.term -> int list
+val sort_metasenv: NCic.substitution -> NCic.metasenv -> NCic.metasenv
 
 type meta_kind = [ `IsSort | `IsType | `IsTerm ]
 val kind_of_meta: NCic.meta_attrs -> meta_kind
 val set_kind: meta_kind -> NCic.meta_attrs -> NCic.meta_attrs 
 val replace_in_metasenv: 
   int -> (NCic.conjecture -> NCic.conjecture) -> NCic.metasenv -> NCic.metasenv
+val replace_in_subst: 
+  int -> (NCic.subst_entry -> NCic.subst_entry) -> NCic.substitution ->
+   NCic.substitution
 val max_kind: meta_kind -> meta_kind -> meta_kind
 
 module NCicHash : Hashtbl.S with type key = NCic.term
@@ -33,4 +37,9 @@ val mk_appl : NCic.term -> NCic.term list -> NCic.term
 
 (* the context is needed only to honour Barendregt's naming convention *)
 val apply_subst : NCic.substitution -> NCic.context -> NCic.term -> NCic.term
+val apply_subst_context : fix_projections:bool -> 
+  NCic.substitution -> NCic.context -> NCic.context
 val apply_subst_metasenv : NCic.substitution -> NCic.metasenv -> NCic.metasenv
+
+val count_occurrences :
+    subst:NCic.substitution -> int -> NCic.term -> int