X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnCicUntrusted.mli;h=7ff7f9335b6c2b5561171907fae35e12811ed73a;hb=53b957fd45c47b20d698503c9bb67e2ef3ab98e1;hp=9f5ab0fd5b8497c2d29293288784df8e37761673;hpb=f8d45b2e4fa7817d7ef8312b3bb8a7439bd7fb8c;p=helm.git diff --git a/helm/software/components/ng_kernel/nCicUntrusted.mli b/helm/software/components/ng_kernel/nCicUntrusted.mli index 9f5ab0fd5..7ff7f9335 100644 --- a/helm/software/components/ng_kernel/nCicUntrusted.mli +++ b/helm/software/components/ng_kernel/nCicUntrusted.mli @@ -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,11 @@ 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 +(* quick, but with false negatives (since no ~subst), check for closed terms *) +val looks_closed : NCic.term -> bool