X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fgrafite_engine%2FnCicCoercDeclaration.ml;h=74a7eb6a4a4867962ebb72ea78708ec4e0ea64d3;hb=21679cd1397d9c51519dbe439c29c1683b91ec64;hp=929d1123560a92103b8b8ddc34a9f88ae5830a2f;hpb=8aa44cb352041dd314011996b4b1a1ff8990a000;p=helm.git diff --git a/matita/components/grafite_engine/nCicCoercDeclaration.ml b/matita/components/grafite_engine/nCicCoercDeclaration.ml index 929d11235..74a7eb6a4 100644 --- a/matita/components/grafite_engine/nCicCoercDeclaration.ml +++ b/matita/components/grafite_engine/nCicCoercDeclaration.ml @@ -133,17 +133,20 @@ let src_tgt_cpos_arity_of_ty_id_src_tgt status ty id src tgt = (try let metasenv,subst,status,src = GrafiteDisambiguate.disambiguate_nterm - status None ctx [] [] ("",0,src) in + status `XTSort ctx [] [] ("",0,src) in let src = NCicUntrusted.apply_subst status subst [] src in (* CHECK that the declared pattern matches the abstraction *) let _ = NCicUnification.unify status metasenv subst ctx ty src in let src = cleanup_skel status () src in status, src, cpos with - | NCicUnification.UnificationFailure _ - | NCicUnification.Uncertain _ - | MultiPassDisambiguator.DisambiguationError _ -> - raise (GrafiteTypes.Command_error "bad source pattern")) + | NCicUnification.UnificationFailure msg + | NCicUnification.Uncertain msg -> + raise (GrafiteTypes.Command_error ("bad source pattern: " ^ +Lazy.force msg)) + | MultiPassDisambiguator.DisambiguationError _ -> + raise (GrafiteTypes.Command_error ("bad source pattern: +disambiguation error"))) | _ -> assert false in aux 0 [] ty @@ -151,7 +154,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 - status None [] [] [] ("",0,tgt) in + status `XTSort [] [] [] ("",0,tgt) in let tgt = NCicUntrusted.apply_subst status subst [] tgt in (* CHECK che sia unificabile mancante *) let rec count_prod = function @@ -318,11 +321,11 @@ let basic_eval_and_record_ncoercion_from_t_cpos_arity let eval_ncoercion (status: #GrafiteTypes.status) name compose t ty (id,src) tgt = let metasenv,subst,status,ty = - GrafiteDisambiguate.disambiguate_nterm status None [] [] [] ("",0,ty) in + GrafiteDisambiguate.disambiguate_nterm status `XTSort [] [] [] ("",0,ty) in assert (metasenv=[]); let ty = NCicUntrusted.apply_subst status subst [] ty in let metasenv,subst,status,t = - GrafiteDisambiguate.disambiguate_nterm status (Some ty) [] [] [] ("",0,t) in + GrafiteDisambiguate.disambiguate_nterm status (`XTSome ty) [] [] [] ("",0,t) in assert (metasenv=[]); let t = NCicUntrusted.apply_subst status subst [] t in let status, src, tgt, cpos, arity =