1 (* (weight of constants, [(meta, weight_of_meta)]) *)
2 type weight = int * (int * int) list;;
4 type comparison = Lt | Le | Eq | Ge | Gt | Incomparable;;
6 val print_metasenv: Cic.metasenv -> string
8 val print_subst: ?prefix:string -> Cic.substitution -> string
10 val string_of_weight: weight -> string
12 val weight_of_term: ?consider_metas:bool -> Cic.term -> weight
14 val normalize_weight: int -> weight -> weight
16 val string_of_comparison: comparison -> string
18 val compare_weights: ?normalize:bool -> weight -> weight -> comparison
20 val nonrec_kbo: Cic.term -> Cic.term -> comparison
22 val nonrec_kbo_w: (Cic.term * weight) -> (Cic.term * weight) -> comparison
24 val names_of_context: Cic.context -> (Cic.name option) list
26 module TermMap: Map.S with type key = Cic.term
28 val symbols_of_term: Cic.term -> int TermMap.t
30 val lpo: Cic.term -> Cic.term -> comparison
32 val kbo: Cic.term -> Cic.term -> comparison
34 (** term-ordering function settable by the user *)
35 val compare_terms: (Cic.term -> Cic.term -> comparison) ref
37 type equality_sign = Negative | Positive
39 val string_of_sign: equality_sign -> string
41 type pos = Left | Right
43 val string_of_pos: pos -> string
45 val compute_equality_weight: Cic.term -> Cic.term -> Cic.term -> int
47 val debug_print: string -> unit