X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fcic%2FcicUtil.ml;h=9b6ece214f4d1d251c28f85b25e82c3613c058fb;hb=f9abd21eb0d26cf9b632af4df819225be4d091e3;hp=deb8f1e68bc3fdf69a84b4f3e5fc77d50d5f4515;hpb=cdd3fc617825db73ce08a0cb700e2a8e115b4fb3;p=helm.git diff --git a/helm/software/components/cic/cicUtil.ml b/helm/software/components/cic/cicUtil.ml index deb8f1e68..9b6ece214 100644 --- a/helm/software/components/cic/cicUtil.ml +++ b/helm/software/components/cic/cicUtil.ml @@ -550,7 +550,8 @@ let alpha_equivalence = let is_sober c t = let rec sober_term c g = function - | C.Rel _ + | C.Rel i -> + if i <= 0 then fun b -> false else g | C.Sort _ | C.Implicit _ -> g | C.Const (_, xnss) @@ -621,11 +622,12 @@ let pp_rel out c i = | Some (s, _) -> out (Printf.sprintf "%u[" i); pp_name out s; out "]" with Failure "nth" -> out (Printf.sprintf "%u[%i]" i (List.length c - i)) -let pp_implict out = function +let pp_implicit out = function | None -> out "?" | Some `Closed -> out "?[Closed]" | Some `Type -> out "?[Type]" | Some `Hole -> out "?[Hole]" + | Some `Vector -> out "?[...]" let pp_uri out a = out (Printf.sprintf "%s<%s>" (UM.name_of_uri a) (UM.string_of_uri a)) @@ -633,7 +635,7 @@ let pp_uri out a = let rec pp_term out e c = function | C.Sort h -> pp_sort out h | C.Rel i -> pp_rel out c i - | C.Implicit x -> pp_implict out x + | C.Implicit x -> pp_implicit out x | C.Meta (i, iss) -> let map = function None -> out "_" | Some v -> pp_term out e c v in out (Printf.sprintf "?%u" i); xiter out "[" "; " "]" map iss