]> matita.cs.unibo.it Git - helm.git/blob - matitaB/components/ng_paramodulation/paramod.mli
The Blob is not abstracted on the context any more.
[helm.git] / matitaB / components / ng_paramodulation / paramod.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: orderings.ml 9869 2009-06-11 22:52:38Z denes $ *)
13
14 module type Paramod =
15   sig
16     type t
17     type input
18     type state
19     type szsontology = 
20       | Unsatisfiable of 
21           (t Terms.bag * int * t Terms.substitution * int list) list
22       | GaveUp 
23       | Error of string 
24       | Timeout of int * t Terms.bag
25     type bag = t Terms.bag * int
26     val empty_state : state
27     val bag_of_state :state -> bag
28     val replace_bag : state -> bag -> state
29     (* we suppose input has been already saturated *)
30     val mk_passive : bag -> input * input -> bag * t Terms.unit_clause
31     val mk_goal : bag -> input * input -> bag * t Terms.unit_clause
32     val forward_infer_step :       
33       state ->
34       t Terms.unit_clause ->
35       int ->
36       state 
37     val goal_narrowing :
38       int 
39       -> int
40       -> float option
41       -> state
42       -> state       
43     val paramod : 
44       useage:bool ->
45       max_steps:int ->
46       ?timeout:float ->
47       bag -> 
48       g_passives:t Terms.unit_clause list -> 
49       passives:t Terms.unit_clause list -> szsontology
50     val demod :
51       state -> input* input -> szsontology
52     val fast_eq_check :
53       state -> input* input -> szsontology
54     val nparamod :
55       useage:bool ->
56       max_steps:int ->
57       ?timeout:float ->
58       state -> 
59       input* input -> 
60       szsontology
61   end
62
63 module Paramod ( B : Orderings.Blob ) : Paramod
64 with type t = B.t and type input = B.input