let cur_tbl = tbln n in
match metadata with
| `Obj (uri, positions) ->
- let tbl = MetadataTypes.obj_tbl in
+ let tbl = MetadataTypes.obj_tbl () in
let from = (sprintf "%s as %s" tbl cur_tbl) :: from in
let where =
(sprintf "%s.h_occurrence = \"%s\"" cur_tbl uri) ::
in
((n+1), from, where)
| `Rel positions ->
- let tbl = MetadataTypes.rel_tbl in
+ let tbl = MetadataTypes.rel_tbl () in
let from = (sprintf "%s as %s" tbl cur_tbl) :: from in
let where =
mk_positions positions cur_tbl ::
in
((n+1), from, where)
| `Sort (sort, positions) ->
- let tbl = MetadataTypes.sort_tbl in
- let sort_str = MetadataPp.pp_sort sort in
+ let tbl = MetadataTypes.sort_tbl () in
+ let sort_str = CicPp.ppsort sort in
let from = (sprintf "%s as %s" tbl cur_tbl) :: from in
let where =
(sprintf "%s.h_sort = \"%s\"" cur_tbl sort_str) ::
in
let (n,from,where) = List.fold_left add_constraint (0,[],[]) metadata in
let (n,from,where) =
- add_card_constr MetadataTypes.conclno_tbl (n,from,where) concl_card
+ add_card_constr (MetadataTypes.conclno_tbl ()) (n,from,where) concl_card
in
let (n,from,where) =
- add_card_constr MetadataTypes.conclno_hyp_tbl (n,from,where) full_card
+ add_card_constr (MetadataTypes.conclno_hyp_tbl ()) (n,from,where) full_card
in
let from = String.concat ", " from in
let where = String.concat " and " where in
[0,"cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)"]
let myspeciallist =
[0,"cic:/Coq/Init/Logic/eq.ind#xpointer(1/1/1)";
- 0,"cic:/Coq/Init/Logic/sym_eq.con";
+(* 0,"cic:/Coq/Init/Logic/sym_eq.con"; *)
0,"cic:/Coq/Init/Logic/trans_eq.con";
0,"cic:/Coq/Init/Logic/f_equal.con";
0,"cic:/Coq/Init/Logic/f_equal2.con";
else
Some main, [0, []; types_no, types])
else
- prefixes (constants_no+types_no) t
+ prefixes (constants_no+types_no+1) t
in
(match prefixes with
Some main, all_concl ->
let subsets =
let subsets = power constants in
let types_no = List.length types in
+ if types_no > 0 then
(0,[]) :: List.map (function (n,l) -> (n+types_no,types@l)) subsets
+ else subsets
in
compute_exactly ~dbd ~facts ~where main subsets