]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/paramodulation/indexing.mli
nasty change in the lexer/parser:
[helm.git] / helm / software / components / tactics / paramodulation / indexing.mli
index bb8bbd295cd7393cca8789fad567c7cc2ddd6ae0..e36cfba494bbb432c77a8bb2185b73f72fdd5c35 100644 (file)
@@ -30,9 +30,11 @@ module Index :
     module PosEqSet : Set.S 
       with type elt = Utils.pos * Equality.equality
       and type t = Equality_indexing.DT.PosEqSet.t
-    type t = Discrimination_tree.DiscriminationTreeIndexing(PosEqSet).t
+    type t =
+            Discrimination_tree.Make(Discrimination_tree.CicIndexable)(PosEqSet).t
   end
 
+val check_for_duplicates : Cic.metasenv -> string -> unit
 val index : Index.t -> Equality.equality -> Index.t
 val remove_index : Index.t -> Equality.equality -> Index.t
 val in_index : Index.t -> Equality.equality -> bool
@@ -61,33 +63,43 @@ val subsumption_all :
 val superposition_left :
   Equality.equality_bag ->
   Cic.conjecture list * Cic.context * CicUniv.universe_graph ->
-  Index.t -> Equality.goal -> int ->
-    int * Equality.goal list
+  Index.t -> Equality.goal -> 
+    Equality.equality_bag * Equality.goal list
 
 val superposition_right :
   Equality.equality_bag ->
   ?subterms_only:bool ->
     UriManager.uri ->
-  int ->
-  'a * Cic.context * CicUniv.universe_graph ->
+  Cic.metasenv * Cic.context * CicUniv.universe_graph ->
   Index.t ->
   Equality.equality ->
-  int * Equality.equality list
+  Equality.equality_bag * Equality.equality list
 
+val demod :
+  Equality.equality_bag ->
+  Cic.metasenv * Cic.context * CicUniv.universe_graph ->
+  Index.t ->
+  Equality.goal ->
+  bool * Equality.goal
 val demodulation_equality :
   Equality.equality_bag ->
   ?from:string -> 
   UriManager.uri ->
-  int ->
   Cic.metasenv * Cic.context * CicUniv.universe_graph ->
   Index.t ->
-  Equality.equality -> int * Equality.equality
+  Equality.equality -> Equality.equality_bag * Equality.equality
 val demodulation_goal :
   Equality.equality_bag ->
   Cic.metasenv * Cic.context * CicUniv.universe_graph ->
   Index.t ->
   Equality.goal ->
   bool * Equality.goal
+val demodulation_all_goal :
+  Equality.equality_bag ->
+  Cic.metasenv * Cic.context * CicUniv.universe_graph ->
+  Index.t ->
+  Equality.goal -> int ->
+    Equality.goal list
 val demodulation_theorem :
   Equality.equality_bag ->
   Cic.metasenv * Cic.context * CicUniv.universe_graph ->
@@ -105,8 +117,6 @@ val solve_demodulating:
   Index.t ->
   Equality.goal ->
   int ->
-    Equality.goal option
-
+    (Equality.equality_bag * Equality.goal_proof * Cic.metasenv * 
+      Subst.substitution * Equality.proof) option
 
-    (** profiling *)
-val get_stats: unit -> string