]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/paramodulation/inference.mli
added homepage URL, now we have one
[helm.git] / helm / ocaml / paramodulation / inference.mli
index 0ce2e40a6730cd9d1f7703d9539c18bc9094b169..b7a10fe34c952ab5fe476309b94bb6c09b4f5420 100644 (file)
@@ -9,13 +9,15 @@ type equality =
     Cic.term list        (* arguments *)
 
 and proof =
+  | NoProof
   | BasicProof of Cic.term
   | ProofBlock of
       Cic.substitution * UriManager.uri *
         (* name, ty, eq_ty, left, right *)
         (Cic.name * Cic.term * Cic.term * Cic.term * Cic.term) * 
-        (Utils.pos * equality) * equality
-  | NoProof
+        (Utils.pos * equality) * proof
+  | ProofGoalBlock of proof * equality
+  | ProofSymBlock of Cic.term Cic.explicit_named_substitution * proof
 
 
 type environment = Cic.metasenv * Cic.context * CicUniv.universe_graph
@@ -64,6 +66,8 @@ exception TermIsNotAnEquality;;
 val equality_of_term: ?eq_uri:UriManager.uri -> Cic.term -> Cic.term ->
   equality
 
+val term_is_equality: ?eq_uri:UriManager.uri -> Cic.term -> bool
+
 (**
    superposition_left env target source
    returns a list of new clauses inferred with a left superposition step
@@ -98,5 +102,8 @@ 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_term_proof: equality -> Cic.term
+val find_library_equalities:
+  dbd:Mysql.dbd -> Cic.context -> ProofEngineTypes.status -> int ->
+  equality list * int