* 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:Mysql.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:Mysql.dbd -> ?facts:bool -> Cic.term -> (int * UriManager.uri) list
type where = [ `Conclusion | `Statement ] (** signature matching extent *)
?facts:bool ->
?where:where ->
term_signature ->
- (int * string) list
+ (int * UriManager.uri) list
(** {2 Constraint engine} *)
type cardinality_condition =
| Eq of int
| 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 ->
?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)
+ ?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:Mysql.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