]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/ng_paramodulation/paramod.mli
Release 0.5.9.
[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 mk_passive : bag -> input * input -> bag * t Terms.unit_clause
27     val mk_goal : bag -> input * input -> bag * t Terms.unit_clause
28     val forward_infer_step :       
29       state ->
30       t Terms.unit_clause ->
31       int ->
32       state 
33     val paramod : 
34       useage:bool ->
35       max_steps:int ->
36       ?timeout:float ->
37       bag -> 
38       g_passives:t Terms.unit_clause list -> 
39       passives:t Terms.unit_clause list -> szsontology
40   end
41
42 module Paramod ( B : Orderings.Blob ) : Paramod
43 with type t = B.t and type input = B.input