]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/paramodulation/indexing.mli
many changes:
[helm.git] / helm / software / components / tactics / paramodulation / indexing.mli
index 836a267dea78fa0f57cb0d8eb883d5f9e0c96f29..7f464d2485af2c7f0b034172073e205bf1f5ee73 100644 (file)
@@ -31,7 +31,6 @@ module Index :
       with type elt = Utils.pos * Equality.equality
       and type t = Equality_indexing.DT.PosEqSet.t
     type t = Discrimination_tree.DiscriminationTreeIndexing(PosEqSet).t
-    type key = Cic.term
   end
 
 val index : Index.t -> Equality.equality -> Index.t
@@ -49,13 +48,24 @@ val subsumption :
   Index.t ->
   Equality.equality ->
   (Subst.substitution * Equality.equality * bool) option
-
+val unification_all :
+  Cic.metasenv * Cic.context * CicUniv.universe_graph ->
+  Index.t ->
+  Equality.equality ->
+  (Subst.substitution * Equality.equality * bool) list
+val subsumption_all :
+  Cic.metasenv * Cic.context * CicUniv.universe_graph ->
+  Index.t ->
+  Equality.equality ->
+  (Subst.substitution * Equality.equality * bool) list
 val superposition_left :
+  Equality.equality_bag ->
   Cic.conjecture list * Cic.context * CicUniv.universe_graph ->
   Index.t -> Equality.goal -> int ->
     int * Equality.goal list
 
 val superposition_right :
+  Equality.equality_bag ->
   ?subterms_only:bool ->
     UriManager.uri ->
   int ->
@@ -65,6 +75,7 @@ val superposition_right :
   int * Equality.equality list
 
 val demodulation_equality :
+  Equality.equality_bag ->
   ?from:string -> 
   UriManager.uri ->
   int ->
@@ -72,19 +83,30 @@ val demodulation_equality :
   Index.t ->
   Equality.equality -> int * Equality.equality
 val demodulation_goal :
+  Equality.equality_bag ->
   Cic.metasenv * Cic.context * CicUniv.universe_graph ->
   Index.t ->
   Equality.goal ->
   bool * Equality.goal
 val demodulation_theorem :
+  Equality.equality_bag ->
   'a ->
   Cic.metasenv * Cic.context * CicUniv.universe_graph ->
   Index.t ->
-  Cic.term * Index.key * Cic.metasenv ->
-  'a * (Cic.term * Index.key * Cic.metasenv)
+  Cic.term * Cic.term * Cic.metasenv ->
+  'a * (Cic.term * Cic.term * Cic.metasenv)
 val check_target:
+  Equality.equality_bag ->
   Cic.context ->
     Equality.equality -> string -> unit
+val solve_demodulating: 
+  Equality.equality_bag ->
+  Cic.metasenv * Cic.context * CicUniv.universe_graph ->
+  Index.t ->
+  Equality.goal ->
+  int ->
+    Equality.goal option
+
 
     (** profiling *)
 val get_stats: unit -> string