]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_engine/grafiteSync.ml
huge commit regarding the grafite_status:
[helm.git] / helm / software / components / grafite_engine / grafiteSync.ml
index 49545e5f46f0f0417353bdd921d3cb014d5899a3..a773ea401a9361a88cf982402bf58af8ae7bec46 100644 (file)
@@ -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;
@@ -173,8 +180,14 @@ 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;
+      };
   }
+}
 
 
 let init baseuri =