2 ||M|| This file is part of HELM, an Hypertextual, Electronic
3 ||A|| Library of Mathematics, developed at the Computer Science
4 ||T|| Department, University of Bologna, Italy.
6 ||T|| HELM is free software; you can redistribute it and/or
7 ||A|| modify it under the terms of the GNU General Public License
8 \ / version 2 or (at your option) any later version.
9 \ / This software is distributed as is, NO WARRANTY.
10 V_______________________________________________________________ *)
12 (* $Id: terms.ml 9836 2009-06-05 15:33:35Z denes $ *)
14 val lexicograph : ('a -> 'b -> int) -> 'a list -> 'b list -> int
16 module Utils (B : Terms.Blob) :
18 val eq_foterm : B.t Terms.foterm -> B.t Terms.foterm -> bool
19 val compare_foterm : B.t Terms.foterm -> B.t Terms.foterm -> int
21 val eq_literal : B.t Terms.literal -> B.t Terms.literal -> bool
22 val compare_literal : B.t Terms.literal -> B.t Terms.literal -> int
24 (* mk_unit_clause [maxvar] [type] [proof] -> [clause] * [maxvar] *)
26 int -> B.t Terms.foterm -> B.t Terms.foterm ->
27 B.t Terms.unit_clause * int
29 val mk_passive_clause :
30 B.t Terms.unit_clause -> B.t Terms.passive_clause
32 val eq_unit_clause : B.t Terms.unit_clause -> B.t Terms.unit_clause -> bool
33 val compare_unit_clause : B.t Terms.unit_clause -> B.t Terms.unit_clause -> int
36 val fresh_unit_clause :
37 int -> B.t Terms.unit_clause -> B.t Terms.unit_clause * int
39 (* relocate [maxvar] [varlist] -> [newmaxvar] * [varlist] * [relocsubst] *)
40 val relocate : int -> int list -> int * int list * B.t Terms.substitution
42 (* also gives a fresh ID to the clause *)
44 B.t Terms.bag -> B.t Terms.unit_clause ->
45 B.t Terms.bag * B.t Terms.unit_clause
47 val empty_bag : B.t Terms.bag
49 val compare_passive_clauses_weight :
50 B.t Terms.passive_clause -> B.t Terms.passive_clause -> int
52 val compare_passive_clauses_age :
53 B.t Terms.passive_clause -> B.t Terms.passive_clause -> int