let module D = DoubleTypeInference in
let module C = Cic in
let fresh_id' = fresh_id seed ids_to_terms ids_to_father_ids in
- let time1 = Sys.time () in
+(* let time1 = Sys.time () in *)
let terms_to_types =
let time0 = Sys.time () in
+(*
let prova = CicTypeChecker.type_of_aux' metasenv context t in
let time1 = Sys.time () in
prerr_endline ("*** Fine type_inference:" ^ (string_of_float (time1 -. time0)));
let time2 = Sys.time () in
prerr_endline ("*** Fine double_type_inference:" ^ (string_of_float (time2 -. time1)));
res
+*)
+ D.double_type_of metasenv context t expectedty
in
+(*
let time2 = Sys.time () in
prerr_endline
("++++++++++++ Tempi della double_type_of: "^ string_of_float (time2 -. time1)) ;
+*)
let rec aux computeinnertypes father context idrefs tt =
let fresh_id'' = fresh_id' father tt in
(*CSC: computeinnertypes era true, il che e' proprio sbagliato, no? *)
) fresh_idrefs funs
)
in
+(*
let timea = Sys.time () in
let res = aux true None context idrefs t in
let timeb = Sys.time () in
prerr_endline
("+++++++++++++ Tempi della aux dentro alla acic_of_cic: "^ string_of_float (timeb -. timea)) ;
res
+*)
+ aux true None context idrefs t
;;
let acic_of_cic_context metasenv context idrefs t =
in
(cid,i,(List.rev revacanonical_context),aterm)
) conjectures' in *)
- let time1 = Sys.time () in
+(* let time1 = Sys.time () in *)
let bo' = eta_fix conjectures' [] bo in
let ty' = eta_fix conjectures' [] ty in
+(*
let time2 = Sys.time () in
prerr_endline
("++++++++++ Tempi della eta_fix: "^ string_of_float (time2 -. time1)) ;
hashtbl_add_time := 0.0 ;
type_of_aux'_add_time := 0.0 ;
DoubleTypeInference.syntactic_equality_add_time := 0.0 ;
+*)
let abo =
acic_term_of_cic_term_context' conjectures' [] [] bo' (Some ty') in
let aty = acic_term_of_cic_term_context' conjectures' [] [] ty' None in
+(*
let time3 = Sys.time () in
prerr_endline
("++++++++++++ Tempi della hashtbl_add_time: " ^ string_of_float !hashtbl_add_time) ;
("++++++++++ Tempi della acic_of_cic: " ^ string_of_float (time3 -. time2)) ;
prerr_endline
("++++++++++ Numero di iterazioni della acic_of_cic: " ^ string_of_int !seed) ;
+*)
C.ACurrentProof
("mettereaposto","mettereaposto2",id,aconjectures,abo,aty,params)
| C.InductiveDefinition (tys,params,paramsno) ->