| 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 compounds = CoercGraph.add_coercion uri in
- let status =
- if add_composites then
- (List.iter (fun (u,_) ->
- prerr_endline (UriManager.string_of_uri u)) compounds;
- List.fold_left (fun s (uri,o) -> add_obj uri o s) status compounds )
- else
- status
- in
- let status =
- {status with coercions = uri :: List.map fst compounds @ 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 (List.map fst compounds)
+let add_coercion status uri compounds =
+ let status = {status with coercions = uri :: status.coercions} in
+ List.fold_left add_alias_for_constant status compounds
module OrderedUri =
struct
in
let debug_list = ref [] in
List.iter
- (fun uri -> CoercGraph.remove_coercion 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 () =
- CoercGraph.remove_all ();
+ LibrarySync.remove_all_coercions ();
LibraryObjects.reset_defaults ();
{
aliases = DisambiguateTypes.Environment.empty;