]> matita.cs.unibo.it Git - helm.git/blob - components/tactics/paramodulation/equality_retrieval.mli
Changed auto from implicit to option and renamed a few functions.
[helm.git] / components / tactics / paramodulation / equality_retrieval.mli
1
2 (* Copyright (C) 2005, HELM Team.
3  * 
4  * This file is part of HELM, an Hypertextual, Electronic
5  * Library of Mathematics, developed at the Computer Science
6  * Department, University of Bologna, Italy.
7  * 
8  * HELM is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License
10  * as published by the Free Software Foundation; either version 2
11  * of the License, or (at your option) any later version.
12  * 
13  * HELM is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with HELM; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
21  * MA  02111-1307, USA.
22  * 
23  * For details, see the HELM World-Wide-Web page,
24  * http://cs.unibo.it/helm/.
25  *)
26
27 (* the type for the callback used to saturate terms that are not
28  * equalities (but have = in main conclusion) *)
29 type auto_type =
30   int -> (* maxmeta *)
31   AutoTypes.flags ->
32   ProofEngineTypes.proof -> 
33   Cic.context -> 
34   AutoCache.cache -> 
35   ProofEngineTypes.goal list ->
36     Cic.substitution list * AutoCache.cache * int
37     
38 (**
39    scans the context to find all Declarations "left = right"; returns a
40    list of equalities and their indexes, the maxmeta and the cache resulted
41    by calling auto.
42 *)
43 val find_context_equalities:
44   int -> (* maxmeta *)
45   Equality.equality_bag ->
46   auto_type option ->
47   Cic.context -> ProofEngineTypes.proof -> (* FIXME:Why bot context and proof?*)
48   AutoCache.cache -> 
49     int list * Equality.equality list * int * AutoCache.cache
50
51 (**
52    searches the library for equalities and operates as find_context_equalities
53 *)
54 val find_library_equalities:
55   Equality.equality_bag ->
56   auto_type option->
57   bool -> HMysql.dbd -> Cic.context -> ProofEngineTypes.status -> int ->
58   AutoCache.cache ->  
59     UriManager.UriSet.t * (UriManager.uri * Equality.equality) list * int *
60     AutoCache.cache
61