*)
(* (weight of constants, [(meta, weight_of_meta)]) *)
+
+val time : bool
+val debug : bool
+val debug_metas: bool
+val debug_res: bool
+
type weight = int * (int * int) list;;
type comparison = Lt | Le | Eq | Ge | Gt | Incomparable;;
+type environment = Cic.metasenv * Cic.context * CicUniv.universe_graph
+
val print_metasenv: Cic.metasenv -> string
val print_subst: ?prefix:string -> Cic.substitution -> string
val string_of_weight: weight -> string
-val weight_of_term: ?consider_metas:bool -> Cic.term -> weight
+val weight_of_term:
+ ?consider_metas:bool ->
+ ?count_metas_occurrences:bool-> Cic.term -> weight
val normalize_weight: int -> weight -> weight
module TermMap: Map.S with type key = Cic.term
val symbols_of_term: Cic.term -> int TermMap.t
+val set_goal_symbols: Cic.term -> unit
val lpo: Cic.term -> Cic.term -> comparison
val guarded_simpl: ?debug:bool -> Cic.context -> Cic.term -> Cic.term
-type equality_sign = Negative | Positive
-
-val string_of_sign: equality_sign -> string
-
type pos = Left | Right
val string_of_pos: pos -> string
-val compute_equality_weight: Cic.term -> Cic.term -> Cic.term -> int
+val compute_equality_weight: Cic.term * Cic.term * Cic.term * comparison -> int
val debug_print: string Lazy.t -> unit
-val eq_ind_URI: unit -> UriManager.uri
-val eq_ind_r_URI: unit -> UriManager.uri
-val sym_eq_URI: unit -> UriManager.uri
-val eq_XURI: unit -> UriManager.uri
-val trans_eq_URI: unit -> UriManager.uri
+val metas_of_term: Cic.term -> int list
+
+val remove_local_context: Cic.term -> Cic.term