]> matita.cs.unibo.it Git - helm.git/blobdiff - components/grafite_engine/grafiteSync.ml
added some lines to compile for debugging
[helm.git] / components / grafite_engine / grafiteSync.ml
index 9581dc9d6a708bc5522b8d145db045977ae40cf3..fecdde3c6a8321edcadec528908ff138222e611f 100644 (file)
 
 open Printf
 
+let is_a_variant obj = 
+  match obj with
+    | Cic.Constant(_,_,_,_,attrs) ->
+       List.exists (fun x -> x = `Flavour `Variant) attrs
+    | _ -> false
+
 let uris_for_inductive_type uri obj =
   match obj with 
     | Cic.InductiveDefinition(types,_,_,_) ->
@@ -79,18 +85,23 @@ let add_obj refinement_toolkit uri obj status =
    let status = GrafiteTypes.add_moo_content index_cmd status in
    (universe,status)
  in
+ let uris_to_index = 
+   if is_a_variant obj then []
+   else (uris_for_inductive_type uri obj)@lemmas 
+ in
  let universe,status =
    List.fold_left add_to_universe 
      (status.GrafiteTypes.universe,status) 
-     ((uris_for_inductive_type uri obj)@lemmas) in
+     uris_to_index 
+ in
   {status with 
      GrafiteTypes.objects = uri::status.GrafiteTypes.objects;
      GrafiteTypes.universe = universe},
    lemmas
 
-let add_coercion refinement_toolkit ~add_composites status uri arity =
+let add_coercion refinement_toolkit ~add_composites status uri arity baseuri =
  let compounds = 
-   LibrarySync.add_coercion ~add_composites refinement_toolkit uri arity in
+   LibrarySync.add_coercion ~add_composites refinement_toolkit uri arity baseuri in
   {status with GrafiteTypes.coercions = uri :: status.GrafiteTypes.coercions},
    compounds