X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fcic_proof_checking%2FcicUnivUtils.ml;h=2c35ebe1a05badb17fd5269edfa4411662bb5c2e;hb=761967afe1bd46b21a6bd69232bf09e1658b0734;hp=cd1aeba32a79c83d8f3018c5129f882e46dadd74;hpb=55b82bd235d82ff7f0a40d980effe1efde1f5073;p=helm.git diff --git a/helm/software/components/cic_proof_checking/cicUnivUtils.ml b/helm/software/components/cic_proof_checking/cicUnivUtils.ml index cd1aeba32..2c35ebe1a 100644 --- a/helm/software/components/cic_proof_checking/cicUnivUtils.ml +++ b/helm/software/components/cic_proof_checking/cicUnivUtils.ml @@ -79,13 +79,15 @@ let universes_of_obj uri t = | C.Meta (n,l1) -> C.Meta (n, List.map (HExtlib.map_option aux) l1) | C.Sort (C.Type i) -> add_result [i]; C.Sort (C.Type (CicUniv.name_universe i uri)) + | C.Sort (C.CProp i) -> add_result [i]; + C.Sort (C.CProp (CicUniv.name_universe i uri)) | C.Rel _ | C.Sort _ | C.Implicit _ as x -> x | C.Cast (v,t) -> C.Cast (aux v, aux t) | C.Prod (b,s,t) -> C.Prod (b,aux s, aux t) | C.Lambda (b,s,t) -> C.Lambda (b,aux s, aux t) - | C.LetIn (b,s,t) -> C.LetIn (b,aux s, aux t) + | C.LetIn (b,s,ty,t) -> C.LetIn (b,aux s, aux ty, aux t) | C.Appl li -> C.Appl (List.map aux li) | C.MutCase (uri,n1,ty,te,patterns) -> C.MutCase (uri,n1,aux ty,aux te, List.map aux patterns) @@ -123,16 +125,8 @@ let universes_of_obj uri t = let o = aux_obj t in List.flatten !results, o -let rec list_uniq = function - | [] -> [] - | h::[] -> [h] - | h1::h2::tl when CicUniv.eq h1 h2 -> list_uniq (h2 :: tl) - | h1::tl (* when h1 <> h2 *) -> h1 :: list_uniq tl - let list_uniq l = - list_uniq (List.fast_sort CicUniv.compare l) - -let profiler = (HExtlib.profile "clean_and_fill").HExtlib.profile + HExtlib.list_uniq (List.fast_sort CicUniv.compare l) let clean_and_fill uri obj ugraph = (* universes of obj fills the universes of the obj with the right uri *) @@ -148,6 +142,8 @@ let clean_and_fill uri obj ugraph = in ugraph, list_of_universes, obj +(* +let profiler = (HExtlib.profile "clean_and_fill").HExtlib.profile let clean_and_fill u o g = profiler (clean_and_fill u o) g - +*)