X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_engine%2FgrafiteSync.ml;h=47744f66e0332e962b2feace6b5f42cb0399a8df;hb=c301e17392ad24f9d6009be092506dc2313c4427;hp=5cf9dc36050f3d16d4694280befa84b32ea094b5;hpb=290350836dd1727b3e3cdd4ee71e666a39cc4a09;p=helm.git diff --git a/helm/software/components/grafite_engine/grafiteSync.ml b/helm/software/components/grafite_engine/grafiteSync.ml index 5cf9dc360..47744f66e 100644 --- a/helm/software/components/grafite_engine/grafiteSync.ml +++ b/helm/software/components/grafite_engine/grafiteSync.ml @@ -147,10 +147,7 @@ let add_coercion ~pack_coercion_obj ~add_composites status uri arity #set_coercions (CoercDb.dump ())) ; #set_objects (lemmas @ status#objects) in - let estatus = - NCicCoercion.index_old_db (CoercDb.dump ()) (GrafiteTypes.get_estatus status) - in - let status = GrafiteTypes.set_estatus estatus status in + let status = NCicCoercion.index_old_db (CoercDb.dump ()) status in status, lemmas let prefer_coercion status u = @@ -165,24 +162,22 @@ let uri_list_diff l2 l1 = let diff = S.diff s2 s1 in S.fold (fun uri uris -> uri :: uris) diff [] -let time_travel ~present ~past = +let initial_status lexicon_status baseuri = + (new GrafiteTypes.status baseuri)#set_lstatus lexicon_status#lstatus +;; + +let time_travel ~present ?(past=initial_status present present#baseuri) () = let objs_to_remove = uri_list_diff present#objects past#objects in List.iter LibrarySync.remove_obj objs_to_remove; CoercDb.restore past#coercions; - NCicLibrary.time_travel (GrafiteTypes.get_estatus past) -;; - -let initial_status lexicon_status baseuri = - new GrafiteTypes.status [] GrafiteTypes.No_proof [] - CoercDb.empty_coerc_db (AutomationCache.empty ()) - baseuri (GrafiteTypes.CommandMode (new NEstatus.status)) + NCicLibrary.time_travel past ;; -let init baseuri = +let init lexicon_status = CoercDb.restore CoercDb.empty_coerc_db; LibraryObjects.reset_defaults (); - initial_status baseuri + initial_status lexicon_status ;; let pop () = LibrarySync.pop ();