X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fparamodulation%2Finference.ml;h=a0cf2bb2180674e1ce5c03856189c88ce643567c;hb=cfda0acfce3f5e0b843bfe2b7ba7c371e5690db0;hp=969d412cef43a28151e995250fdf10d2adc172c4;hpb=9e3eb63a93acaca0b4ad59c213e9ea430524d3ae;p=helm.git diff --git a/helm/ocaml/paramodulation/inference.ml b/helm/ocaml/paramodulation/inference.ml index 969d412ce..a0cf2bb21 100644 --- a/helm/ocaml/paramodulation/inference.ml +++ b/helm/ocaml/paramodulation/inference.ml @@ -480,7 +480,7 @@ let unification_simple metasenv context t1 t2 ugraph = | C.Meta (i, _), C.Meta (j, _) when i > j -> unif subst menv t s | C.Meta _, t when occurs_check subst s t -> - raise (U.UnificationFailure "Inference.unification.unif") + raise (U.UnificationFailure (U.failure_msg_of_string "Inference.unification.unif")) | C.Meta (i, l), t -> ( try let _, _, ty = CicUtil.lookup_meta i menv in @@ -492,24 +492,24 @@ let unification_simple metasenv context t1 t2 ugraph = subst, menv with CicUtil.Meta_not_found m -> let names = names_of_context context in - debug_print ( + debug_print (lazy ( Printf.sprintf "Meta_not_found %d!: %s %s\n%s\n\n%s" m (CicPp.pp t1 names) (CicPp.pp t2 names) - (print_metasenv menv) (print_metasenv metasenv)); + (print_metasenv menv) (print_metasenv metasenv))); assert false ) | _, C.Meta _ -> unif subst menv t s | C.Appl (hds::_), C.Appl (hdt::_) when hds <> hdt -> - raise (U.UnificationFailure "Inference.unification.unif") + raise (U.UnificationFailure (U.failure_msg_of_string "Inference.unification.unif")) | C.Appl (hds::tls), C.Appl (hdt::tlt) -> ( try List.fold_left2 (fun (subst', menv) s t -> unif subst' menv s t) (subst, menv) tls tlt with Invalid_argument _ -> - raise (U.UnificationFailure "Inference.unification.unif") + raise (U.UnificationFailure (U.failure_msg_of_string "Inference.unification.unif")) ) - | _, _ -> raise (U.UnificationFailure "Inference.unification.unif") + | _, _ -> raise (U.UnificationFailure (U.failure_msg_of_string "Inference.unification.unif")) in let subst, menv = unif [] metasenv t1 t2 in let menv = @@ -527,9 +527,9 @@ let unification metasenv context t1 t2 ugraph = (* Printf.printf "| unification %s %s\n" (CicPp.ppterm t1) (CicPp.ppterm t2); *) let subst, menv, ug = if not (is_simple_term t1) || not (is_simple_term t2) then ( - debug_print ( + debug_print (lazy ( Printf.sprintf "NOT SIMPLE TERMS: %s %s" - (CicPp.ppterm t1) (CicPp.ppterm t2)); + (CicPp.ppterm t1) (CicPp.ppterm t2))); CicUnification.fo_unif metasenv context t1 t2 ugraph ) else unification_simple metasenv context t1 t2 ugraph @@ -1066,14 +1066,14 @@ let find_equalities ?(eq_uri=HelmLibraryObjects.Logic.eq_URI) context proof = match head with | C.Appl [C.MutInd (uri, _, _); ty; t1; t2] when (UriManager.eq uri eq_uri) && (ok_types ty newmetas) -> - debug_print ( - Printf.sprintf "OK: %s" (CicPp.ppterm term)); -(* debug_print ( *) + debug_print (lazy ( + Printf.sprintf "OK: %s" (CicPp.ppterm term))); +(* debug_print (lazy ( *) (* Printf.sprintf "args: %s\n" *) -(* (String.concat ", " (List.map CicPp.ppterm args))); *) -(* debug_print ( *) +(* (String.concat ", " (List.map CicPp.ppterm args)))); *) +(* debug_print (lazy ( *) (* Printf.sprintf "newmetas:\n%s\n" *) -(* (print_metasenv newmetas)); *) +(* (print_metasenv newmetas))); *) let o = !Utils.compare_terms t1 t2 in let w = compute_equality_weight ty t1 t2 in let proof = BasicProof p in @@ -1154,9 +1154,9 @@ let find_library_equalities ~(dbd:Mysql.dbd) context status maxmeta = let rec aux newmeta = function | [] -> [], newmeta | (term, termty)::tl -> - debug_print ( + debug_print (lazy ( Printf.sprintf "Examining: %s (%s)" - (UriManager.string_of_uri (CicUtil.uri_of_term term))(* (CicPp.ppterm term) *) (CicPp.ppterm termty)); + (UriManager.string_of_uri (CicUtil.uri_of_term term))(* (CicPp.ppterm term) *) (CicPp.ppterm termty))); let res, newmeta = match termty with | C.Prod (name, s, t) -> @@ -1172,8 +1172,8 @@ let find_library_equalities ~(dbd:Mysql.dbd) context status maxmeta = match head with | C.Appl [C.MutInd (uri, _, _); ty; t1; t2] when (iseq uri) && (ok_types ty newmetas) -> - debug_print ( - Printf.sprintf "OK: %s" (CicPp.ppterm term)); + debug_print (lazy ( + Printf.sprintf "OK: %s" (CicPp.ppterm term))); let o = !Utils.compare_terms t1 t2 in let w = compute_equality_weight ty t1 t2 in let proof = BasicProof p in @@ -1199,8 +1199,8 @@ let find_library_equalities ~(dbd:Mysql.dbd) context status maxmeta = (List.fold_left (fun l e -> if List.exists (meta_convertibility_eq e) l then ( - debug_print ( - Printf.sprintf "NO!! %s already there!" (string_of_equality e)); + debug_print (lazy ( + Printf.sprintf "NO!! %s already there!" (string_of_equality e))); l ) else e::l)