]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/paramodulation/indexing.mli
- inside dicrimination_tree is now checked the invariant that bad terms are indexed...
[helm.git] / helm / software / components / tactics / paramodulation / indexing.mli
index 75e16ec1b38e254ce637c6dbc34f25e689cc9dd8..340a1eddbc0acf0369ec36b29036d876a295a951 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,24 +75,28 @@ val superposition_right :
   int * Equality.equality list
 
 val demodulation_equality :
+  Equality.equality_bag ->
   ?from:string -> 
   UriManager.uri ->
   int ->
   Cic.metasenv * Cic.context * CicUniv.universe_graph ->
   Index.t ->
-  Utils.equality_sign -> Equality.equality -> int * Equality.equality
+  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