X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fgrafite_engine%2FnCicCoercDeclaration.ml;h=e370975d798fabd79384c536d357d55381c1e501;hb=4e7e01cd771c07b3605ba54d3853ac34a02cb86d;hp=3cf07626531c37902cff53640451885386211997;hpb=f6b7c6ae353e014761a3d24dbc87e00d828d7f2d;p=helm.git diff --git a/matita/components/grafite_engine/nCicCoercDeclaration.ml b/matita/components/grafite_engine/nCicCoercDeclaration.ml index 3cf076265..e370975d7 100644 --- a/matita/components/grafite_engine/nCicCoercDeclaration.ml +++ b/matita/components/grafite_engine/nCicCoercDeclaration.ml @@ -133,7 +133,7 @@ let src_tgt_cpos_arity_of_ty_id_src_tgt status ty id src tgt = (try let metasenv,subst,status,src = GrafiteDisambiguate.disambiguate_nterm - None status ctx [] [] ("",0,src) in + status None ctx [] [] ("",0,src) in let src = NCicUntrusted.apply_subst subst [] src in (* CHECK that the declared pattern matches the abstraction *) let _ = NCicUnification.unify status metasenv subst ctx ty src in @@ -151,7 +151,7 @@ let src_tgt_cpos_arity_of_ty_id_src_tgt status ty id src tgt = let status, tgt, arity = let metasenv,subst,status,tgt = GrafiteDisambiguate.disambiguate_nterm - None status [] [] [] ("",0,tgt) in + status None [] [] [] ("",0,tgt) in let tgt = NCicUntrusted.apply_subst subst [] tgt in (* CHECK che sia unificabile mancante *) let rec count_prod = function @@ -282,19 +282,21 @@ let basic_eval_ncoercion (name,t,s,d,p,a) status = ;; let record_ncoercion = - let aux (name,t,s,d,p,a) ~refresh_uri_in_universe ~refresh_uri_in_term = + let aux (name,t,s,d,p,a) ~refresh_uri_in_term = let t = refresh_uri_in_term t in let s = refresh_uri_in_term s in let d = refresh_uri_in_term d in basic_index_ncoercion (name,t,s,d,p,a) in - let aux_l l ~refresh_uri_in_universe ~refresh_uri_in_term = - List.fold_right (aux ~refresh_uri_in_universe ~refresh_uri_in_term) l + let aux_l l ~refresh_uri_in_universe ~refresh_uri_in_term + ~refresh_uri_in_reference ~alias_only status + = + if not alias_only then + List.fold_right (aux ~refresh_uri_in_term) l status + else + status in - NCicLibrary.Serializer.register#run "ncoercion" - object(self : 'a NCicLibrary.register_type) - method run = aux_l - end + GrafiteTypes.Serializer.register#run "ncoercion" aux_l ;; let basic_eval_and_record_ncoercion infos status = @@ -314,17 +316,15 @@ let basic_eval_and_record_ncoercion_from_t_cpos_arity status,uris ;; -let eval_ncoercion status name t ty (id,src) tgt = - +let eval_ncoercion (status: #GrafiteTypes.status) name t ty (id,src) tgt = let metasenv,subst,status,ty = - GrafiteDisambiguate.disambiguate_nterm None status [] [] [] ("",0,ty) in + GrafiteDisambiguate.disambiguate_nterm status None [] [] [] ("",0,ty) in assert (metasenv=[]); let ty = NCicUntrusted.apply_subst subst [] ty in let metasenv,subst,status,t = - GrafiteDisambiguate.disambiguate_nterm (Some ty) status [] [] [] ("",0,t) in + GrafiteDisambiguate.disambiguate_nterm status (Some ty) [] [] [] ("",0,t) in assert (metasenv=[]); let t = NCicUntrusted.apply_subst subst [] t in - let status, src, tgt, cpos, arity = src_tgt_cpos_arity_of_ty_id_src_tgt status ty id src tgt in let status, uris =