X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=components%2Flibrary%2FcoercDb.ml;h=c5356b3e17fb2dfe1f4722b22b4a952643bf9464;hb=a7a7011cb7cf84e46d63651fa3a016f97533463b;hp=8e2c62f310ca5b14251dcaa0a72dd2f94424688e;hpb=7f2444c2670cadafddd8785b687ef312158376b0;p=helm.git diff --git a/components/library/coercDb.ml b/components/library/coercDb.ml index 8e2c62f31..c5356b3e1 100644 --- a/components/library/coercDb.ml +++ b/components/library/coercDb.ml @@ -32,25 +32,26 @@ exception EqCarrOnNonMetaClosed let db = ref [] let coerc_carr_of_term t = - try - Uri (CicUtil.uri_of_term t) - with Invalid_argument _ -> - match t with - | Cic.Sort s -> Sort s - | Cic.Appl ((Cic.Const (uri, _))::_) - | Cic.Appl ((Cic.MutInd (uri, _, _))::_) - | Cic.Appl ((Cic.MutConstruct (uri, _, _, _))::_) -> Uri uri - | t -> Term t + try + match t with + Cic.Sort s -> Sort s + | Cic.Appl (t::_) + | t -> Uri (CicUtil.uri_of_term t) + with Invalid_argument _ -> + Term t ;; -let name_of_carr = function +let rec name_of_carr = function | Uri u -> UriManager.name_of_uri u | Sort s -> CicPp.ppsort s | Term (Cic.Appl ((Cic.Const (uri, _))::_)) | Term (Cic.Appl ((Cic.MutInd (uri, _, _))::_)) | Term (Cic.Appl ((Cic.MutConstruct (uri, _, _, _))::_)) -> UriManager.name_of_uri uri - | Term t -> (* CicPp.ppterm t *) assert false + | Term (Cic.Prod (_,_,t)) -> name_of_carr (Term t) + | Term t -> + prerr_endline ("CoercDb.name_of_carr:" ^ CicPp.ppterm t); + "FixTheNameMangler" let eq_carr src tgt = match src, tgt with