]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_unification/coercGraph.ml
attributes support
[helm.git] / helm / ocaml / cic_unification / coercGraph.ml
index 4dd05073b26b3ab2af09899254f7713a6a25a22c..e01f28eb3fcc1994f068dbc86926e6dff42a614c 100644 (file)
@@ -94,7 +94,7 @@ let get_closure_coercions src tgt uri =
     [] c_to_src)
 ;;
 
-      
+let obj_attrs = [`Class `Coercion; `Generated]
 
 (* generate_composite_closure (c2 (c1 s)) in the universe graph univ *)
 let generate_composite_closure c1 c2 univ =
@@ -129,7 +129,7 @@ let generate_composite_closure c1 c2 univ =
   let cleaned_ty =
     FreshNamesGenerator.clean_dummy_dependent_types c_ty 
   in
-  let obj = Cic.Constant ("xxxx",Some c,cleaned_ty,[]) in 
+  let obj = Cic.Constant ("xxxx",Some c,cleaned_ty,[],obj_attrs) in 
     obj,univ
 ;;
 
@@ -161,13 +161,14 @@ let close_coercion_graph src tgt uri =
                 CicUtil.term_of_uri (UriManager.string_of_uri uri)
               in
               let first_step = 
-                (Cic.Constant ("",Some (term_of_uri' he),Cic.Sort Cic.Prop,[]))
+                Cic.Constant ("", Some (term_of_uri' he), Cic.Sort Cic.Prop, [],
+                  obj_attrs)
               in
               let o,u = 
                 List.fold_left (fun (o,u) coer ->
                   match o with 
-                  |  Cic.Constant (_,Some c,_,[]) ->
-                    generate_composite_closure c (term_of_uri' coer) u
+                  | Cic.Constant (_,Some c,_,[],_) ->
+                      generate_composite_closure c (term_of_uri' coer) u
                   | _ -> assert false 
                 ) (first_step, CicUniv.empty_ugraph) tl
               in
@@ -180,7 +181,8 @@ let close_coercion_graph src tgt uri =
               in
               let named_obj = 
                 match o with
-                | Cic.Constant (_,bo,ty,vl) -> Cic.Constant (name,bo,ty,vl)
+                | Cic.Constant (_,bo,ty,vl,attrs) ->
+                    Cic.Constant (name,bo,ty,vl,attrs)
                 | _ -> assert false 
               in
                 ((src,tgt,c_uri),(c_uri,named_obj,u))