X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2FapplyTransformation.ml;h=5ee48f3da7f100815d7a151e3621c3b2b4467de4;hb=e9eda8f13045ff3d4f7b1ec93dec96e09bf65f1a;hp=91fe7bcd0ca2e6cbd570b5177f9c980e0dda32da;hpb=9e7df95a820cb91d075f1a20d703175da874596c;p=helm.git diff --git a/helm/software/matita/applyTransformation.ml b/helm/software/matita/applyTransformation.ml index 91fe7bcd0..5ee48f3da 100644 --- a/helm/software/matita/applyTransformation.ml +++ b/helm/software/matita/applyTransformation.ml @@ -46,6 +46,7 @@ module LS = LibrarySync module Ds = CicDischarge module PO = ProceduralOptimizer module N = CicNotationPt +module A2P = Acic2Procedural let mpres_document pres_box = Xml.add_xml_declaration (CicNotationPres.print_box pres_box) @@ -213,10 +214,12 @@ let txt_of_cic_object failwith msg in if List.mem G.IPProcedural params then begin -(* - PO.debug := true; + + Procedural2.debug := A2P.is_debug 1 params; + PO.debug := A2P.is_debug 2 params; +(* PO.critical := false; - Acic2Procedural.tex_formatter := Some Format.std_formatter; + A2P.tex_formatter := Some Format.std_formatter; let _ = ProceduralTeX.tex_of_obj Format.std_formatter obj in *) let obj, info = PO.optimize_obj obj in @@ -232,13 +235,18 @@ let txt_of_cic_object ~map_unicode_to_tex ~term_pp ~lazy_term_pp ~obj_pp in let aux = function - | G.Executable (_, G.Command (_, G.Obj (_, N.Inductive _))) as stm + | G.Executable (_, G.Command (_, G.Obj (_, N.Inductive _))) + | G.Executable (_, G.Command (_, G.Obj (_, N.Record _))) as stm -> + let hc = !Acic2content.hide_coercions in + if List.mem G.IPCoercions params then + Acic2content.hide_coercions := false; enable_notations false; let str = stm_pp stm in enable_notations true; + Acic2content.hide_coercions := hc; str -(* FG: we disable notation for Inductive to avoid recursive notation *) +(* FG: we disable notation for inductive types to avoid recursive notation *) | G.Executable (_, G.Tactic _) as stm -> let hc = !Acic2content.hide_coercions in Acic2content.hide_coercions := false; @@ -246,10 +254,16 @@ let txt_of_cic_object Acic2content.hide_coercions := hc; str (* FG: we show coercion because the reconstruction is not aware of them *) - | stm -> stm_pp stm + | stm -> + let hc = !Acic2content.hide_coercions in + if List.mem G.IPCoercions params then + Acic2content.hide_coercions := false; + let str = stm_pp stm in + Acic2content.hide_coercions := hc; + str in let script = - Acic2Procedural.procedural_of_acic_object + A2P.procedural_of_acic_object ~ids_to_inner_sorts ~ids_to_inner_types ~info params aobj in String.concat "" (List.map aux script) ^ "\n\n" @@ -377,7 +391,7 @@ let procedural_txt_of_cic_term ~map_unicode_to_tex n params context term = let aux = GrafiteAstPp.pp_statement ~map_unicode_to_tex ~term_pp ~lazy_term_pp ~obj_pp in let script = - Acic2Procedural.procedural_of_acic_term + A2P.procedural_of_acic_term ~ids_to_inner_sorts ~ids_to_inner_types params context annterm in String.concat "" (List.map aux script)