val metas_of_term : NCic.substitution -> NCic.context -> NCic.term -> int list
+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
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 height_of_obj_kind: NUri.uri -> NCic.obj_kind -> int