X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fmetadata%2FmetadataConstraints.mli;h=0d66557414365452837ed1eabef188624880dfae;hb=349a0e23813a7f33853e1f8fe48230276ac22934;hp=ec6d81f38d35a53c9f7abfc5a03658c5825a646f;hpb=9cd69dd86ed337478461241d497265ccc59f819a;p=helm.git diff --git a/helm/ocaml/metadata/metadataConstraints.mli b/helm/ocaml/metadata/metadataConstraints.mli index ec6d81f38..0d6655741 100644 --- a/helm/ocaml/metadata/metadataConstraints.mli +++ b/helm/ocaml/metadata/metadataConstraints.mli @@ -35,13 +35,21 @@ type term_signature = (string * string list) option * StringSet.t (** @return sorted list of theorem URIs, first URIs in the least have higher * relevance *) -val cmatch: dbh:Dbi.connection -> Cic.term -> string list +val cmatch: dbd:Mysql.dbd -> ?facts:bool -> Cic.term -> string list (** as cmatch, but returned list is not sorted but rather tagged with * relevance information: higher the tag, higher the relevance *) -val cmatch': dbh:Dbi.connection -> Cic.term -> (int * string) list +val cmatch': dbd:Mysql.dbd -> ?facts:bool -> Cic.term -> (int * string) list -val sigmatch: dbh:Dbi.connection -> term_signature -> (int * string) list +type where = [ `Conclusion | `Statement ] (** signature matching extent *) + + (** @param where defaults to `Conclusion *) +val sigmatch: + dbd:Mysql.dbd -> + ?facts:bool -> + ?where:where -> + term_signature -> + (int * string) list (** {2 Constraint engine} *) @@ -49,17 +57,54 @@ val sigmatch: dbh:Dbi.connection -> term_signature -> (int * string) list 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: - dbh:Dbi.connection -> + dbd:Mysql.dbd -> ?concl_card:cardinality_condition -> ?full_card:cardinality_condition -> + ?diff:cardinality_condition -> + ?rating:rating_criterion -> MetadataTypes.constr list -> string list + (** @param where defaults to `Conclusion *) +val at_most: + dbd:Mysql.dbd -> + ?where:where -> StringSet.t -> + (string -> 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 -> + string list + val signature_of: Cic.term -> term_signature val constants_of: Cic.term -> StringSet.t