]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/ng_paramodulation/paramod.mli
b161ae459086fa5bfe406545521ebcfd4545d82b
[helm.git] / helm / software / 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 (t Terms.bag * int * int list) list
21       | GaveUp 
22       | Error of string 
23       | Timeout of int * t Terms.bag
24     type bag = t Terms.bag * int
25     val empty_state : state
26     val bag_of_state :state -> bag
27     val replace_bag : state -> bag -> state
28     val mk_passive : bag -> input * input -> bag * t Terms.unit_clause
29     val mk_goal : bag -> input * input -> bag * t Terms.unit_clause
30     val forward_infer_step :       
31       state ->
32       t Terms.unit_clause ->
33       int ->
34       state 
35     val goal_narrowing :
36       int 
37       -> int
38       -> float option
39       -> state
40       -> state       
41     val paramod : 
42       useage:bool ->
43       max_steps:int ->
44       ?timeout:float ->
45       bag -> 
46       g_passives:t Terms.unit_clause list -> 
47       passives:t Terms.unit_clause list -> szsontology
48     val fast_eq_check :
49       state -> input* input -> szsontology
50   end
51
52 module Paramod ( B : Orderings.Blob ) : Paramod
53 with type t = B.t and type input = B.input