and opt1_lambda g es c name w t =
let name = H.mk_fresh_name c name in
let entry = Some (name, C.Decl w) in
- let g t =
- let name = if DTI.does_not_occur 1 t then C.Anonymous else name in
- g (C.Lambda (name, w, t))
- in
+ let g t = g (C.Lambda (name, w, t)) in
if es then opt1_proof g es (entry :: c) t else g t
and opt1_appl g es c t vs =
let optimize_obj = function
| C.Constant (name, Some bo, ty, pars, attrs) ->
let g bo =
- Printf.eprintf "Optimized: %s\n" (Pp.ppterm bo);
+ Printf.eprintf "Optimized : %s\nPost Nodes: %u\n"
+ (Pp.ppterm bo) (I.count_nodes 0 bo);
let _ = H.get_type [] (C.Cast (bo, ty)) in
C.Constant (name, Some bo, ty, pars, attrs)
in
- Printf.eprintf "BEGIN: %s\n" name;
+ Printf.eprintf "BEGIN: %s\nPre Nodes : %u\n"
+ name (I.count_nodes 0 bo);
begin try opt1_term g (* (opt2_term g []) *) true [] bo
with e -> failwith ("PPP: " ^ Printexc.to_string e) end
| obj -> obj