]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/ng_paramodulation/foUtils.mli
4cddee8c126fa31adc751b61958eaf78547918db
[helm.git] / helm / software / components / ng_paramodulation / foUtils.mli
1 (*
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.                     
5     ||I||                                                                
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_______________________________________________________________ *)
11
12 (* $Id: terms.ml 9836 2009-06-05 15:33:35Z denes $ *)
13
14 module Utils (B : Terms.Blob) :
15   sig
16     val eq_foterm : B.t Terms.foterm -> B.t Terms.foterm -> bool
17     val compare_foterm : B.t Terms.foterm -> B.t Terms.foterm -> int
18
19     val eq_literal : B.t Terms.literal -> B.t Terms.literal -> bool
20     val compare_literal : B.t Terms.literal -> B.t Terms.literal -> int
21
22     (* mk_unit_clause [maxvar] [type] [proof] -> [clause] * [maxvar] *)
23     val mk_unit_clause : 
24          int -> B.t Terms.foterm -> B.t Terms.foterm -> 
25            B.t Terms.unit_clause * int
26
27     val eq_unit_clause : B.t Terms.unit_clause -> B.t Terms.unit_clause -> bool
28     val compare_unit_clause : B.t Terms.unit_clause -> B.t Terms.unit_clause -> int
29
30 (*
31     val fresh_unit_clause : 
32           int -> B.t Terms.unit_clause -> B.t Terms.unit_clause * int
33 *)
34
35     (* relocate [maxvar] [varlist] -> [newmaxvar] * [varlist] * [relocsubst] *)
36     val relocate : int -> int list -> int * int list * B.t Terms.substitution 
37
38     (* also gives a fresh ID to the clause *)
39     val add_to_bag : 
40           B.t Terms.bag -> B.t Terms.unit_clause -> 
41             B.t Terms.bag * B.t Terms.unit_clause
42
43     val empty_bag : B.t Terms.bag
44
45   end