]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/ng_paramodulation/foUtils.mli
48ef1d90b722bce21765d45baad59825b8b5e0d0
[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 val lexicograph : ('a -> 'b -> int) -> 'a list -> 'b list -> int
15
16 module Utils (B : Orderings.Blob) :
17   sig
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
20
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
23
24     (* mk_clause [maxvar] [type] [proof] -> [clause] * [maxvar] *)
25     val mk_clause : 
26       int ->
27       B.t Terms.foterm list -> (* negative literals in clause *)
28       B.t Terms.foterm list -> (* positive literals in clause *)
29       B.t Terms.foterm -> 
30       B.t Terms.clause * int
31
32     val mk_passive_clause :
33       B.t Terms.clause -> B.t Terms.passive_clause
34
35     val mk_passive_goal :
36       B.t Terms.clause -> B.t Terms.passive_clause
37
38     val eq_clause : B.t Terms.clause -> B.t Terms.clause -> bool
39     val compare_clause : B.t Terms.clause -> B.t Terms.clause -> int
40
41
42     val fresh_clause : 
43           int -> B.t Terms.clause -> B.t Terms.clause * int
44
45     (* relocate [maxvar] [varlist] -> [newmaxvar] * [varlist] * [relocsubst] *)
46     val relocate : 
47           int -> int list -> B.t Terms.substitution -> 
48             int * int list * B.t Terms.substitution 
49
50     val compare_passive_clauses_weight :
51       B.t Terms.passive_clause -> B.t Terms.passive_clause -> int
52
53     val compare_passive_clauses_age :
54       B.t Terms.passive_clause -> B.t Terms.passive_clause -> int
55
56   end