]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/cic/cicUtil.mli
parameter sintax added to axiom statement
[helm.git] / helm / software / components / cic / cicUtil.mli
index 4391efc821ec6d0e2fe318e38c0faeb1aa9af48d..c9dd896b9c3902f199976bbd5259e1c80fc329d2 100644 (file)
@@ -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,8 @@ 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 is_generated: Cic.obj -> bool
 
 (** mk_rels [howmany] [from] 
  * creates a list of [howmany] rels starting from [from] in decreasing order *)
@@ -60,3 +64,14 @@ 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, folded applications, non-positive rels
+ *)
+val is_sober: Cic.context -> Cic.term -> bool
+
+val pp_term:
+   (string -> unit) -> Cic.metasenv -> Cic.context -> Cic.term -> unit
+val pp_obj:
+   (string -> unit) -> Cic.obj -> unit