X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fmetadata%2FmetadataTypes.ml;h=81eb35817dcfc3ad960d03a44650b0ebe63a91bb;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=719ba508c1ae37d5e40f364939c4dec35fe8658a;hpb=4bc5e3edbedb79e13f16a09abe18ee38e9c78a20;p=helm.git diff --git a/helm/ocaml/metadata/metadataTypes.ml b/helm/ocaml/metadata/metadataTypes.ml index 719ba508c..81eb35817 100644 --- a/helm/ocaml/metadata/metadataTypes.ml +++ b/helm/ocaml/metadata/metadataTypes.ml @@ -32,9 +32,16 @@ let mainhyp_pos = position_prefix ^ "MainHypothesis" let inhyp_pos = position_prefix ^ "InHypothesis" let inbody_pos = position_prefix ^ "InBody" +type relation = + | Eq of int + | Le of int + | Lt of int + | Ge of int + | Gt of int + type main_position = - [ `MainConclusion of int option (* Pi depth *) - | `MainHypothesis of int option (* Pi depth *) + [ `MainConclusion of relation option (* Pi depth *) + | `MainHypothesis of relation option (* Pi depth *) ] type position = @@ -49,13 +56,13 @@ type pi_depth = int type metadata = [ `Sort of Cic.sort * main_position | `Rel of main_position - | `Obj of string * position + | `Obj of UriManager.uri * position ] type constr = [ `Sort of Cic.sort * main_position list | `Rel of main_position list - | `Obj of string * position list + | `Obj of UriManager.uri * position list ] let constr_of_metadata: metadata -> constr = function @@ -63,11 +70,44 @@ let constr_of_metadata: metadata -> constr = function | `Rel pos -> `Rel [pos] | `Obj (uri, pos) -> `Obj (uri, [pos]) -let sort_tbl = "refSort" -let rel_tbl = "refRel" -let obj_tbl = "refObj" -let owners_tbl = "owners" -let conclno_tbl = "no_inconcl_aux" -let conclno_hyp_tbl = "no_concl_hyp" -let name_tbl = "objectName" + (** the name of the tables in the DB *) +let sort_tbl_original = "refSort" +let rel_tbl_original = "refRel" +let obj_tbl_original = "refObj" +let name_tbl_original = "objectName" +let count_tbl_original = "count" +let hits_tbl_original = "hits" + + (** the names currently used *) +let sort_tbl_real = ref sort_tbl_original +let rel_tbl_real = ref rel_tbl_original +let obj_tbl_real = ref obj_tbl_original +let name_tbl_real = ref name_tbl_original +let count_tbl_real = ref count_tbl_original + + (** the exported symbols *) +let sort_tbl () = ! sort_tbl_real ;; +let rel_tbl () = ! rel_tbl_real ;; +let obj_tbl () = ! obj_tbl_real ;; +let name_tbl () = ! name_tbl_real ;; +let count_tbl () = ! count_tbl_real ;; + + (** to use the owned tables *) +let ownerize_tables owner = + sort_tbl_real := ( sort_tbl_original ^ "_" ^ owner) ; + rel_tbl_real := ( rel_tbl_original ^ "_" ^ owner) ; + obj_tbl_real := ( obj_tbl_original ^ "_" ^ owner) ; + name_tbl_real := ( name_tbl_original ^ "_" ^ owner); + count_tbl_real := ( count_tbl_original ^ "_" ^ owner) +;; + +let library_sort_tbl = sort_tbl_original +let library_rel_tbl = rel_tbl_original +let library_obj_tbl = obj_tbl_original +let library_name_tbl = name_tbl_original +let library_count_tbl = count_tbl_original +let library_hits_tbl = hits_tbl_original +let are_tables_ownerized () = + sort_tbl () <> library_sort_tbl +