]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/paramodulation/inference.mli
fixed a bug (status not reset properly between calls), tried some other
[helm.git] / helm / ocaml / paramodulation / inference.mli
index 2011dd979b6bab4f3194de51868ea42dbd4dc50f..1d76aba7a8495d0ca91838e53b5ad55b4e93b94d 100644 (file)
@@ -18,8 +18,9 @@ and proof =
 (*         (Cic.name * Cic.term * Cic.term * Cic.term * Cic.term) *  *)
         (Utils.pos * equality) * proof
   | ProofGoalBlock of proof * proof (* equality *)
-  | ProofSymBlock of Cic.term Cic.explicit_named_substitution * proof
-
+(*   | ProofSymBlock of Cic.term Cic.explicit_named_substitution * proof *)
+  | ProofSymBlock of Cic.term list * proof
+  | SubProof of Cic.term * int * proof
 
 type environment = Cic.metasenv * Cic.context * CicUniv.universe_graph
 
@@ -54,8 +55,7 @@ val beta_expand:
    fresh metas...
 *)
 val find_equalities:
-  ?eq_uri:UriManager.uri -> Cic.context -> ProofEngineTypes.proof ->
-  equality list * int
+  Cic.context -> ProofEngineTypes.proof -> int list * equality list * int
 
 
 exception TermIsNotAnEquality;;
@@ -64,10 +64,9 @@ exception TermIsNotAnEquality;;
    raises TermIsNotAnEquality if term is not an equation.
    The first Cic.term is a proof of the equation
 *)
-val equality_of_term: ?eq_uri:UriManager.uri -> Cic.term -> Cic.term ->
-  equality
+val equality_of_term: Cic.term -> Cic.term -> equality
 
-val term_is_equality: ?eq_uri:UriManager.uri -> Cic.term -> bool
+val term_is_equality: Cic.term -> bool
 
 (**
    superposition_left env target source
@@ -105,8 +104,17 @@ val fix_metas: int -> equality -> int * equality
 val extract_differing_subterms:
   Cic.term -> Cic.term -> (Cic.term * Cic.term) option
 
-val build_proof_term: equality -> Cic.term
+val build_proof_term: proof (* equality *) -> Cic.term
 
 val find_library_equalities:
-  dbd:Mysql.dbd -> Cic.context -> ProofEngineTypes.status -> int ->
-  equality list * int
+  HMysql.dbd -> Cic.context -> ProofEngineTypes.status -> int ->
+  UriManager.UriSet.t * equality list * int
+
+val find_library_theorems:
+  HMysql.dbd -> environment -> ProofEngineTypes.status -> UriManager.UriSet.t ->
+  (UriManager.uri * Cic.term * Cic.term * Cic.metasenv) list
+
+val find_context_hypotheses:
+  environment -> int list -> (Cic.term * Cic.term * Cic.metasenv) list
+
+val string_of_proof: proof -> string