]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/cic_unification/cicRefine.ml
some tests patched
[helm.git] / helm / software / components / cic_unification / cicRefine.ml
index 4fc9f4cccdc80e943ee6bc5367e8e24f7f37dbf6..95651c49fe96ff9ebddec5eed4a8463422b5d67e 100644 (file)
@@ -1332,7 +1332,12 @@ prerr_endline ("poco geniale: nel caso di IRL basterebbe sapere che questo e' il
             he
         in
         let x,xty,subst,metasenv,ugraph =
-            type_of_aux subst metasenv context x ugraph
+         (*CSC: here unsharing is necessary to avoid an unwanted
+           relocalization. However, this also shows a great source of
+           inefficiency: "x" is refined twice (once now and once in the
+           subsequent eat_prods_and_args). Morevoer, how is divergence avoided?
+         *)
+         type_of_aux subst metasenv context (Unshare.unshare x) ugraph
         in
         let carr_src = 
           CoercDb.coerc_carr_of_term (CicMetaSubst.apply_subst subst xty)