X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fmetadata%2FmetadataConstraints.mli;h=4f84ce9a73814485abb0a78dc7c0dcbae2a474f4;hb=12cc5b2b8e7f7bb0b5e315094b008a293a4df6b1;hp=ddf672b7f1d939d84099c216bbd3116190b9afcb;hpb=71b71ad9ccda0f26a25f3a5ad7e1697025d207a9;p=helm.git diff --git a/helm/ocaml/metadata/metadataConstraints.mli b/helm/ocaml/metadata/metadataConstraints.mli index ddf672b7f..4f84ce9a7 100644 --- a/helm/ocaml/metadata/metadataConstraints.mli +++ b/helm/ocaml/metadata/metadataConstraints.mli @@ -23,23 +23,24 @@ * http://helm.cs.unibo.it/ *) -module StringSet : Set.S with type elt = string +module UriManagerSet : Set.S with type elt = UriManager.uri + (** @return * 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 *) @@ -49,7 +50,7 @@ val sigmatch: ?facts:bool -> ?where:where -> term_signature -> - (int * string) list + (int * UriManager.uri) list (** {2 Constraint engine} *) @@ -63,11 +64,19 @@ 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 -> @@ -75,14 +84,28 @@ val at_least: ?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