X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_engine%2FgrafiteSync.ml;h=60bfc69217b71425f922440ec50c69a0bba50637;hb=5c8de084e314e41f3dc2f605f6242283e930b803;hp=49545e5f46f0f0417353bdd921d3cb014d5899a3;hpb=dcef667a444aa0f189225855c1433d26b65fb8b7;p=helm.git diff --git a/helm/software/components/grafite_engine/grafiteSync.ml b/helm/software/components/grafite_engine/grafiteSync.ml index 49545e5f4..60bfc6921 100644 --- a/helm/software/components/grafite_engine/grafiteSync.ml +++ b/helm/software/components/grafite_engine/grafiteSync.ml @@ -142,10 +142,17 @@ let add_coercion ~pack_coercion_obj ~add_composites status uri arity let lemmas = LibrarySync.add_coercion ~add_composites ~pack_coercion_obj uri arity saturations baseuri in + let status = { status with GrafiteTypes.coercions = CoercDb.dump () ; - objects = lemmas @ status.GrafiteTypes.objects - }, - lemmas + objects = lemmas @ status.GrafiteTypes.objects; + } + in + let db = + NCicCoercion.index_old_db (CoercDb.dump ()) + (GrafiteTypes.get_coercions status) + in + let status = GrafiteTypes.set_coercions db status in + status, lemmas let prefer_coercion s u = CoercDb.prefer u; @@ -164,6 +171,7 @@ let time_travel ~present ~past = uri_list_diff present.GrafiteTypes.objects past.GrafiteTypes.objects in List.iter LibrarySync.remove_obj objs_to_remove; CoercDb.restore past.GrafiteTypes.coercions; + NCicLibrary.time_travel (GrafiteTypes.get_library_db past) ;; let initial_status lexicon_status baseuri = { @@ -173,8 +181,16 @@ let initial_status lexicon_status baseuri = { coercions = CoercDb.empty_coerc_db; automation_cache = AutomationCache.empty (); baseuri = baseuri; - ng_status = GrafiteTypes.CommandMode lexicon_status; + ng_status = GrafiteTypes.CommandMode { + NEstatus.lstatus = lexicon_status; + NEstatus.rstatus = { + NRstatus.uhint_db = NCicUnifHint.empty_db; + NRstatus.coerc_db = NCicCoercion.empty_db; + NRstatus.library_db = NCicLibrary.time0; + NRstatus.dump = fun x -> x; + }; } +} let init baseuri =