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
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 *)
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