X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnCicEnvironment.ml;h=496ae54468471382ede458fc51fdd4c1bc0f96c4;hb=6033870314160f36fa814914550682b304beaba0;hp=46552d5aa690e649354315ead787b6014da77716;hpb=57e708bca8555d6146c4e3d07c0a9b6a546373ce;p=helm.git diff --git a/helm/software/components/ng_kernel/nCicEnvironment.ml b/helm/software/components/ng_kernel/nCicEnvironment.ml index 46552d5aa..496ae5446 100644 --- a/helm/software/components/ng_kernel/nCicEnvironment.ml +++ b/helm/software/components/ng_kernel/nCicEnvironment.ml @@ -20,7 +20,6 @@ exception BadDependency of string Lazy.t;; exception BadConstraint of string Lazy.t;; let type0 = [] -let cprop = [false, NUri.uri_of_string ("cic:/matita/pts/CProp.univ")] let le_constraints = ref [] (* strict,a,b *) @@ -44,12 +43,21 @@ let universe_leq a b = let universe_eq a b = universe_leq b a && universe_leq a b +let pp_constraint b x y = + NUri.name_of_uri x ^ (if b then " < " else " <= ") ^ NUri.name_of_uri y +;; + +let pp_constraints () = + String.concat "\n" (List.map (fun (b,x,y) -> pp_constraint b x y) !le_constraints) +;; + let add_constraint strict a b = match a,b with | [false,a2],[false,b2] -> if not (le_path_uri [] strict a2 b2) then ( if le_path_uri [] (not strict) b2 a2 then - (raise (BadConstraint (lazy "universe inconsistency"))); + (raise(BadConstraint(lazy("universe inconsistency adding "^pp_constraint strict a2 b2 + ^ " to:\n" ^ pp_constraints ())))); le_constraints := (strict,a2,b2) :: !le_constraints) | _ -> raise (BadConstraint (lazy "trying to add a constraint on an inferred universe")) @@ -153,12 +161,12 @@ let get_checked_indtys = function ;; let get_checked_fixes_or_cofixes = function - | Ref.Ref (uri, (Ref.Fix (fixno,_,_)|Ref.CoFix fixno))-> + | Ref.Ref (uri, (Ref.Fix _|Ref.CoFix _))-> (match get_checked_obj uri with | _,height,_,_, C.Fixpoint (_,funcs,att) -> funcs, att, height | _ ->prerr_endline "get_checked_(co)fix on a non (co)fix 2";assert false) - | r -> prerr_endline ("get_checked_(co)fix on " ^ Ref.string_of_reference r); assert false + | _ -> prerr_endline "get_checked_(co)fix on a non (co)fix"; assert false ;; let get_relevance (Ref.Ref (_, infos) as r) =