]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/metadata/metadataConstraints.mli
ocaml 3.09 transition
[helm.git] / helm / ocaml / metadata / metadataConstraints.mli
index 48143490ff1682d3240d25eaa4781ba80bf4dd15..63757ae47c772861dba3e141051c6dfa0c2c5b38 100644 (file)
  * http://helm.cs.unibo.it/
  *)
 
-module StringSet : Set.S with type elt = string
+module UriManagerSet : Set.S with type elt = UriManager.uri
+
 
   (** @return <main, constants>
   * main: constant in main position and, for polymorphic constants, type
   * instantitation
   * constants: constants appearing in term *)
-type term_signature = (string * string list) option * StringSet.t
+type term_signature = (UriManager.uri * UriManager.uri list) option * UriManagerSet.t
 
 (** {2 Candidates filtering} *)
 
   (** @return sorted list of theorem URIs, first URIs in the least have higher
   * relevance *)
-val cmatch: dbd:Mysql.dbd -> ?facts:bool -> Cic.term -> string list
+val cmatch: dbd:HMysql.dbd -> ?facts:bool -> Cic.term -> UriManager.uri list
 
   (** as cmatch, but returned list is not sorted but rather tagged with
   * relevance information: higher the tag, higher the relevance *)
-val cmatch': dbd:Mysql.dbd -> ?facts:bool -> Cic.term -> (int * string) list
+val cmatch': dbd:HMysql.dbd -> ?facts:bool -> Cic.term -> (int * UriManager.uri) list
 
 type where = [ `Conclusion | `Statement ] (** signature matching extent *)
 
   (** @param where defaults to `Conclusion *)
 val sigmatch:
-  dbd:Mysql.dbd ->
+  dbd:HMysql.dbd ->
   ?facts:bool ->
   ?where:where -> 
   term_signature ->
-    (int * string) list
+    (int * UriManager.uri) list
 
 (** {2 Constraint engine} *)
 
@@ -59,25 +60,52 @@ type cardinality_condition =
   | Gt of int
   | Lt of int
 
+type rating_criterion =
+  [ `Hits   (** order by number of hits, most used objects first *)
+  ]
+
+val add_constraint:
+  ?start:int ->
+  ?tables:string * string * string * string ->
+  int * string list * string list ->
+  MetadataTypes.constr ->
+  int * string list * string list
+
   (** @param concl_card cardinality condition on conclusion only
   * @param full_card cardinality condition on the whole statement
   * @param diff required difference between the number of different constants in
   * hypothesis and the number of different constants in body
   * @return list of URI satisfying given constraints *)
+
 val at_least:
-  dbd:Mysql.dbd ->
+  dbd:HMysql.dbd ->
   ?concl_card:cardinality_condition ->
   ?full_card:cardinality_condition ->
   ?diff:cardinality_condition ->
+  ?rating:rating_criterion ->
   MetadataTypes.constr list ->
-    string list
+    UriManager.uri list
 
   (** @param where defaults to `Conclusion *)
 val at_most:
-  dbd:Mysql.dbd ->
-  ?where:where -> StringSet.t ->
-    (string -> bool)
+  dbd:HMysql.dbd ->
+  ?where:where -> UriManagerSet.t ->
+    (UriManager.uri -> bool)
+
+val add_all_constr: 
+  ?tbl:string ->
+   int * string list * string list ->
+  cardinality_condition option ->
+  cardinality_condition option ->
+  cardinality_condition option ->
+  int * string list * string list
+
+val exec: 
+  dbd:HMysql.dbd ->
+  ?rating:[ `Hits ] -> 
+  int * string list * string list -> 
+  UriManager.uri list
 
 val signature_of: Cic.term -> term_signature
-val constants_of: Cic.term -> StringSet.t
+val constants_of: Cic.term -> UriManagerSet.t