]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/ng_paramodulation/paramod.mli
parameter sintax added to axiom statement
[helm.git] / helm / software / components / ng_paramodulation / paramod.mli
index c8ba6cad9afc94898d0bc68ad061b3db438aa59f..367d7939448f269ebedd755cb688cbc887155c9c 100644 (file)
 
 (* $Id: orderings.ml 9869 2009-06-11 22:52:38Z denes $ *)
 
-module Paramod ( B : Terms.Blob ) : 
+module type Paramod =
   sig
-    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
+    type t
+    type input
+    type state
+    type szsontology = 
+      | Unsatisfiable of 
+         (t Terms.bag * int * t Terms.substitution * int list) list
+      | GaveUp 
+      | Error of string 
+      | 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 ->
-       (B.t Terms.bag * int * int list) list
+      g_passives:t Terms.unit_clause list -> 
+      passives:t Terms.unit_clause list -> szsontology
+    val demod :
+      state -> input* input -> szsontology
+    val fast_eq_check :
+      state -> input* input -> szsontology
+    val nparamod :
+      useage:bool ->
+      max_steps:int ->
+      ?timeout:float ->
+      state -> 
+      input* input -> 
+      szsontology
   end
+
+module Paramod ( B : Orderings.Blob ) : Paramod
+with type t = B.t and type input = B.input