]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_paramodulation/foUtils.mli
Branched paramodulation for CNF (Horn clauses)
[helm.git] / helm / software / components / ng_paramodulation / foUtils.mli
index 5cbe461a06ddb3c2baf79ec529f7bea1597a356b..48ef1d90b722bce21765d45baad59825b8b5e0d0 100644 (file)
@@ -13,7 +13,7 @@
 
 val lexicograph : ('a -> 'b -> int) -> 'a list -> 'b list -> int
 
-module Utils (B : Terms.Blob) :
+module Utils (B : Orderings.Blob) :
   sig
     val eq_foterm : B.t Terms.foterm -> B.t Terms.foterm -> bool
     val compare_foterm : B.t Terms.foterm -> B.t Terms.foterm -> int
@@ -21,30 +21,31 @@ module Utils (B : Terms.Blob) :
     val eq_literal : B.t Terms.literal -> B.t Terms.literal -> bool
     val compare_literal : B.t Terms.literal -> B.t Terms.literal -> int
 
-    (* mk_unit_clause [maxvar] [type] [proof] -> [clause] * [maxvar] *)
-    val mk_unit_clause : 
-         int -> B.t Terms.foterm -> B.t Terms.foterm -> 
-           B.t Terms.unit_clause * int
+    (* mk_clause [maxvar] [type] [proof] -> [clause] * [maxvar] *)
+    val mk_clause : 
+      int ->
+      B.t Terms.foterm list -> (* negative literals in clause *)
+      B.t Terms.foterm list -> (* positive literals in clause *)
+      B.t Terms.foterm -> 
+      B.t Terms.clause * int
 
     val mk_passive_clause :
-      B.t Terms.unit_clause -> B.t Terms.passive_clause
+      B.t Terms.clause -> B.t Terms.passive_clause
 
-    val eq_unit_clause : B.t Terms.unit_clause -> B.t Terms.unit_clause -> bool
-    val compare_unit_clause : B.t Terms.unit_clause -> B.t Terms.unit_clause -> int
+    val mk_passive_goal :
+      B.t Terms.clause -> B.t Terms.passive_clause
 
+    val eq_clause : B.t Terms.clause -> B.t Terms.clause -> bool
+    val compare_clause : B.t Terms.clause -> B.t Terms.clause -> int
 
-    val fresh_unit_clause : 
-          int -> B.t Terms.unit_clause -> B.t Terms.unit_clause * int
 
-    (* relocate [maxvar] [varlist] -> [newmaxvar] * [varlist] * [relocsubst] *)
-    val relocate : int -> int list -> int * int list * B.t Terms.substitution 
-
-    (* also gives a fresh ID to the clause *)
-    val add_to_bag : 
-          B.t Terms.bag -> B.t Terms.unit_clause -> 
-            B.t Terms.bag * B.t Terms.unit_clause
+    val fresh_clause : 
+          int -> B.t Terms.clause -> B.t Terms.clause * int
 
-    val empty_bag : B.t Terms.bag
+    (* relocate [maxvar] [varlist] -> [newmaxvar] * [varlist] * [relocsubst] *)
+    val relocate : 
+          int -> int list -> B.t Terms.substitution -> 
+            int * int list * B.t Terms.substitution 
 
     val compare_passive_clauses_weight :
       B.t Terms.passive_clause -> B.t Terms.passive_clause -> int