]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_paramodulation/paramod.mli
Trying to be faster
[helm.git] / helm / software / components / ng_paramodulation / paramod.mli
index fa914ef6116636d33f90a39b6909bd00809bbcf0..321d0f8971730f03a2d7b06ccce9e63d5634956a 100644 (file)
 
 (* $Id: orderings.ml 9869 2009-06-11 22:52:38Z denes $ *)
 
-module Paramod ( B : Terms.Blob ) : 
+module type Paramod =
   sig
+    type t
+    type input
+    type state
     type szsontology = 
-      | Unsatisfiable of (B.t Terms.bag * int * int list) list
+      | Unsatisfiable of 
+         (t Terms.bag * int * t Terms.substitution * int list) list
       | GaveUp 
       | Error of string 
-      | Timeout of int * B.t Terms.bag
-    type bag = B.t Terms.bag * int
-    val mk_passive : bag -> B.input * B.input -> bag * B.t Terms.unit_clause
-    val mk_goal : bag -> B.input * B.input -> bag * B.t Terms.unit_clause
+      | Timeout of int * t Terms.bag
+    type bag = t Terms.bag * int
+    val empty_state : state
+    val bag_of_state :state -> bag
+    val replace_bag : state -> bag -> state
+    val mk_passive : bag -> input * input -> bag * t Terms.unit_clause
+    val mk_goal : bag -> input * input -> bag * t Terms.unit_clause
+    val forward_infer_step :       
+      state ->
+      t Terms.unit_clause ->
+      int ->
+      state 
+    val goal_narrowing :
+      int 
+      -> int
+      -> float option
+      -> state
+      -> state       
     val paramod : 
+      useage:bool ->
       max_steps:int ->
       ?timeout:float ->
       bag -> 
-      g_passives:B.t Terms.unit_clause list -> 
-      passives:B.t Terms.unit_clause list -> szsontology
+      g_passives:t Terms.unit_clause list -> 
+      passives:t Terms.unit_clause list -> szsontology
+    val fast_eq_check :
+      state -> input* input -> szsontology
   end
+
+module Paramod ( B : Orderings.Blob ) : Paramod
+with type t = B.t and type input = B.input