]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/applyTransformation.ml
removed useless universes
[helm.git] / helm / software / matita / applyTransformation.ml
index 91fe7bcd0ca2e6cbd570b5177f9c980e0dda32da..5ee48f3da7f100815d7a151e3621c3b2b4467de4 100644 (file)
@@ -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)