(function
| GrafiteAst.Ident_alias (_, suri) ->
let buri = UriManager.buri_of_uri (UriManager.uri_of_string suri) in
- Some (GrafiteAst.Dependency buri)
+ Some (LibraryNoDb.Dependency buri)
| _ -> None)
in
let aliases =
DisambiguatePp.aliases_of_domain_and_codomain_items_list new_aliases
in
let status = add_moo_content (commands_of_aliases aliases) new_status in
- let status = add_moo_metadata (deps_of_aliases aliases) status in
+ let status = add_metadata (deps_of_aliases aliases) status in
status
(** given a uri and a type list (the contructors types) builds a list of pairs
| Cic.Variable _
| Cic.CurrentProof _ -> assert false
-let add_obj uri obj status =
- let basedir = Helm_registry.get "matita.basedir" in
- let lemmas = LibrarySync.add_obj uri obj basedir in
- let status = {status with objects = uri::status.objects} in
+let add_obj uri obj lemmas status =
List.fold_left add_alias_for_constant
(add_aliases_for_object status uri obj) lemmas
let profiler = HExtlib.profile "add_obj" in
fun uri obj status -> profiler.HExtlib.profile (add_obj uri obj) status
-let add_coercion status ~add_composites uri =
- let basedir = Helm_registry.get "matita.basedir" in
- let lemmas = CoercGraph.add_coercion ~basedir ~add_composites uri in
+let add_coercion status uri compounds =
let status = {status with coercions = uri :: status.coercions} in
- let statement_of name =
- GrafiteAst.Coercion
- (DisambiguateTypes.dummy_floc, CicUtil.term_of_uri uri, false) in
- let moo_content = [statement_of (UriManager.name_of_uri uri)] in
- let status = GrafiteTypes.add_moo_content moo_content status in
- List.fold_left add_alias_for_constant status lemmas
+ List.fold_left add_alias_for_constant status compounds
module OrderedUri =
struct
in
let debug_list = ref [] in
List.iter
- (fun uri -> CoercDb.remove_coercion (fun (_,_,u) -> UriManager.eq u uri))
+ (fun uri -> LibrarySync.remove_coercion uri)
coercions_to_remove;
List.iter LibrarySync.remove_obj objs_to_remove;
List.iter CicNotation.remove_notation notation_to_remove
+
+let init () =
+ LibrarySync.remove_all_coercions ();
+ LibraryObjects.reset_defaults ();
+ {
+ aliases = DisambiguateTypes.Environment.empty;
+ multi_aliases = DisambiguateTypes.Environment.empty;
+ moo_content_rev = [];
+ metadata = [];
+ proof_status = No_proof;
+ options = no_options;
+ objects = [];
+ coercions = [];
+ notation_ids = [];
+ }
+
+