X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Facic_procedural%2Facic2Procedural.ml;h=071377c63f0a90eb5665c85ce80043e9032557e0;hb=6e785555b301cc1abe1671de3bd970aebebce71a;hp=deb3088f22537b32e368a03b54de920e8776a488;hpb=04f22df647f35080b499b720bca7bc0eb1794c64;p=helm.git diff --git a/helm/software/components/acic_procedural/acic2Procedural.ml b/helm/software/components/acic_procedural/acic2Procedural.ml index deb3088f2..071377c63 100644 --- a/helm/software/components/acic_procedural/acic2Procedural.ml +++ b/helm/software/components/acic_procedural/acic2Procedural.ml @@ -39,6 +39,7 @@ module PEH = ProofEngineHelpers module HEL = HExtlib module DTI = DoubleTypeInference module NU = CicNotationUtil +module L = Librarian module Cl = ProceduralClassify module T = ProceduralTypes @@ -54,7 +55,7 @@ type status = { case: int list } -let debug = false +let debug = ref false (* helpers ******************************************************************) @@ -194,7 +195,7 @@ let mk_convert st ?name sty ety note = let e = Cn.hole "" in let csty, cety = H.cic sty, H.cic ety in let script = - if debug then + if !debug then let sname = match name with None -> "" | Some (id, _) -> id in let note = Printf.sprintf "%s: %s\nSINTH: %s\nEXP: %s" note sname (Pp.ppterm csty) (Pp.ppterm cety) @@ -218,7 +219,7 @@ let mk_convert st ?name sty ety note = let convert st ?name v = match get_inner_types st v with | None -> - if debug then [T.Note "NORMAL: NO INNER TYPES"] else [] + if !debug then [T.Note "NORMAL: NO INNER TYPES"] else [] | Some (sty, ety) -> mk_convert st ?name sty ety "NORMAL" let convert_elim st ?name t v pattern = @@ -341,7 +342,10 @@ and proc_const st what = and proc_appl st what hd tl = let proceed, dtext = test_depth st in let script = if proceed then - let ty = get_type "TC2" st hd in + let ty = match get_inner_types st hd with + | Some (ity, _) -> H.cic ity + | None -> get_type "TC2" st hd + in let classes, rc = Cl.classify st.context ty in let goal_arity, goal = match get_inner_types st what with | None -> 0, None @@ -489,10 +493,13 @@ let procedural_of_acic_object ~ids_to_inner_sorts ~ids_to_inner_types ?depth context = []; case = [] } in + L.time_stamp "P : LEVEL 2 "; HLog.debug "Procedural: level 2 transformation"; let steps = proc_obj st ?flavour anobj in + L.time_stamp "P : RENDERING"; HLog.debug "Procedural: grafite rendering"; - List.rev (T.render_steps [] steps) + let r = List.rev (T.render_steps [] steps) in + L.time_stamp "P : DONE "; r let procedural_of_acic_term ~ids_to_inner_sorts ~ids_to_inner_types ?depth prefix context annterm =