X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_unification%2FcoercDb.ml;h=437ad65ae202bcddab717c3fa5e5d327f63d6dfc;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=e636f87596a8e9e86729bc2c5e0c99e072151b21;hpb=0245778d76e4d7656c1d8a05dc19738f1a953d68;p=helm.git diff --git a/helm/ocaml/cic_unification/coercDb.ml b/helm/ocaml/cic_unification/coercDb.ml index e636f8759..437ad65ae 100644 --- a/helm/ocaml/cic_unification/coercDb.ml +++ b/helm/ocaml/cic_unification/coercDb.ml @@ -24,7 +24,7 @@ *) type coerc_carr = Uri of UriManager.uri | Sort of Cic.sort | Term of Cic.term -exception EqCarrNotImplemented of string +exception EqCarrNotImplemented of string Lazy.t exception EqCarrOnNonMetaClosed let db = ref [] @@ -44,18 +44,19 @@ let eq_carr src tgt = | Uri src, Uri tgt -> UriManager.eq src tgt | Sort (Cic.Type _), Sort (Cic.Type _) -> true | Sort src, Sort tgt when src = tgt -> true - | Term t1, Term t2 when - CicUtil.is_meta_closed t1 && CicUtil.is_meta_closed t2 -> + | Term t1, Term t2 -> + if CicUtil.is_meta_closed t1 && CicUtil.is_meta_closed t2 then raise (EqCarrNotImplemented - ("Unsupported carr for coercions: " ^ - CicPp.ppterm t1 ^ " or " ^ CicPp.ppterm t2)) - | _ -> raise EqCarrOnNonMetaClosed + (lazy ("Unsupported carr for coercions: " ^ + CicPp.ppterm t1 ^ " or " ^ CicPp.ppterm t2))) + else raise EqCarrOnNonMetaClosed + | _, _ -> false let name_of_carr = function | Uri u -> UriManager.name_of_uri u | Sort s -> CicPp.ppsort s - | Term _ -> assert false + | Term t -> CicPp.ppterm t let to_list () =