]> matita.cs.unibo.it Git - helm.git/blob - matitaB/components/ng_paramodulation/paramod.mli
Fixed indentation, which is semantic in Haskell.
[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 size_of_state : state -> int * int
28     val bag_of_state :state -> bag
29     val replace_bag : state -> bag -> state
30     (* we suppose input has been already saturated *)
31     val mk_passive : bag -> input * input -> bag * t Terms.unit_clause
32     val mk_goal : bag -> input * input -> bag * t Terms.unit_clause
33     val forward_infer_step :       
34       state ->
35       t Terms.unit_clause ->
36       int ->
37       state 
38     val goal_narrowing :
39       int 
40       -> int
41       -> float option
42       -> state
43       -> state       
44     val paramod : 
45       useage:bool ->
46       max_steps:int ->
47       ?timeout:float ->
48       bag -> 
49       g_passives:t Terms.unit_clause list -> 
50       passives:t Terms.unit_clause list -> szsontology
51     val demod :
52       state -> input* input -> szsontology
53     val fast_eq_check :
54       state -> input* input -> szsontology
55     val nparamod :
56       useage:bool ->
57       max_steps:int ->
58       ?timeout:float ->
59       state -> 
60       input* input -> 
61       szsontology
62   end
63
64 module Paramod ( B : Orderings.Blob ) : Paramod
65 with type t = B.t and type input = B.input