]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/components/extlib/discrimination_tree.mli
arithmetics for λδ
[helm.git] / matita / components / extlib / discrimination_tree.mli
index 4c8339e5e881fa7899607ef9dca7dd9a40d84630..bf6b071f1ca2bc98f4aeebc5738ab068dc17489c 100644 (file)
@@ -63,6 +63,19 @@ module type DiscriminationTree  =
       val in_index : t -> input -> (data -> bool) -> bool
       val retrieve_generalizations : t -> input -> dataset
       val retrieve_unifiables : t -> input -> dataset
+
+      (* the int is the number of symbools that matched, note that
+       * Collector.to_list returns a sorted list, biggest matches first. *)
+      module type Collector = sig
+        type t
+        val empty : t
+        val union : t -> t -> t
+        val inter : t -> t -> data list
+        val to_list : t -> data list
+      end
+      module Collector : Collector
+      val retrieve_generalizations_sorted : t -> input -> Collector.t
+      val retrieve_unifiables_sorted : t -> input -> Collector.t
     end