X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=components%2Fcic%2FcicUtil.mli;h=9977d186465c24e245e4ea404a8ae6bf1c4ca812;hb=93a8a0a29f033e02812d341b785f4522a6a17549;hp=4391efc821ec6d0e2fe318e38c0faeb1aa9af48d;hpb=4b0c8ab87297a2bcf9998c098fafbba44e8b641b;p=helm.git diff --git a/components/cic/cicUtil.mli b/components/cic/cicUtil.mli index 4391efc82..9977d1864 100644 --- a/components/cic/cicUtil.mli +++ b/components/cic/cicUtil.mli @@ -36,6 +36,8 @@ val clean_up_local_context : val is_closed : Cic.term -> bool val is_meta_closed : Cic.term -> bool val metas_of_term : Cic.term -> (int * Cic.term option list) list +(* as before but with no duplicates. may avoind some stack overflows *) +val metas_of_term_set : Cic.term -> (int * Cic.term option list) list (** @raise Failure "not enough prods" *) val strip_prods: int -> Cic.term -> Cic.term @@ -51,6 +53,9 @@ val id_of_annterm: Cic.annterm -> Cic.id val params_of_obj: Cic.obj -> UriManager.uri list val attributes_of_obj: Cic.obj -> Cic.attribute list +val projections_of_record: Cic.obj -> UriManager.uri -> UriManager.uri list +val arity_of_composed_coercion: Cic.obj -> int +val is_generated: Cic.obj -> bool (** mk_rels [howmany] [from] * creates a list of [howmany] rels starting from [from] in decreasing order *) @@ -60,3 +65,9 @@ val mk_rels : int -> int -> Cic.term list val rehash_term: Cic.term -> Cic.term val rehash_obj: Cic.obj -> Cic.obj +val alpha_equivalence: Cic.term -> Cic.term -> bool + +(* FG: Consistency Check + * detects applications without arguments + *) +val is_sober: Cic.term -> bool