X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2FapplyTransformation.ml;h=4015293a435907f7a24f29f20b5824fb14e05cc1;hb=8ae1653eb75d2b57c50e077c49cb9d078313ea9d;hp=d572a78d914fd0ef8a2fb1acc2e2de1b7e70e270;hpb=cdd3fc617825db73ce08a0cb700e2a8e115b4fb3;p=helm.git diff --git a/helm/software/matita/applyTransformation.ml b/helm/software/matita/applyTransformation.ml index d572a78d9..4015293a4 100644 --- a/helm/software/matita/applyTransformation.ml +++ b/helm/software/matita/applyTransformation.ml @@ -66,9 +66,10 @@ let mml_of_cic_sequent metasenv sequent = (ids_to_terms,ids_to_father_ids,ids_to_hypotheses,ids_to_inner_sorts))) let nmml_of_cic_sequent metasenv subst sequent = - let content_sequent = NTermCicContent.nmap_sequent ~subst sequent in + let content_sequent,ids_to_refs = + NTermCicContent.nmap_sequent ~subst sequent in let pres_sequent = - Sequent2pres.nsequent2pres subst content_sequent in + Sequent2pres.nsequent2pres ids_to_refs subst content_sequent in let xmlpres = mpres_document pres_sequent in Xml2Gdome.document_of_xml DomMisc.domImpl xmlpres @@ -88,6 +89,13 @@ let mml_of_cic_object obj = (ids_to_terms, ids_to_father_ids, ids_to_conjectures, ids_to_hypotheses, ids_to_inner_sorts,ids_to_inner_types))) +let nmml_of_cic_object obj = + let cobj,ids_to_nrefs = NTermCicContent.nmap_obj obj in + let pres_sequent = Content2pres.ncontent2pres ~ids_to_nrefs cobj in + let xmlpres = mpres_document pres_sequent in + Xml2Gdome.document_of_xml DomMisc.domImpl xmlpres +;; + let txt_of_cic_sequent ~map_unicode_to_tex size metasenv sequent = let unsh_sequent,(asequent,ids_to_terms, ids_to_father_ids,ids_to_inner_sorts,ids_to_hypotheses) @@ -111,8 +119,10 @@ let txt_of_cic_sequent_conclusion ~map_unicode_to_tex ~output_type size let t, ids_to_uris = TermAcicContent.ast_of_acic ~output_type ids_to_inner_sorts t in let t = TermContentPres.pp_ast t in - let t = CicNotationPres.render ids_to_uris t in - BoxPp.render_to_string ~map_unicode_to_tex + let t = + CicNotationPres.render ~lookup_uri:(CicNotationPres.lookup_uri ids_to_uris) t + in + BoxPp.render_to_string ~map_unicode_to_tex (function x::_ -> x | _ -> assert false) size t let txt_of_cic_term ~map_unicode_to_tex size metasenv context t = @@ -169,9 +179,10 @@ let term2pres ~map_unicode_to_tex n ids_to_inner_sorts annterm = let ast, ids_to_uris = TermAcicContent.ast_of_acic ~output_type:`Term ids_to_inner_sorts annterm in let bobj = - CicNotationPres.box_of_mpres ( - CicNotationPres.render ~prec:90 ids_to_uris - (TermContentPres.pp_ast ast)) in + CicNotationPres.box_of_mpres ( + CicNotationPres.render ~prec:90 + ~lookup_uri:(CicNotationPres.lookup_uri ids_to_uris) + (TermContentPres.pp_ast ast)) in let render = function _::x::_ -> x | _ -> assert false in let mpres = CicNotationPres.mpres_of_box bobj in let s = BoxPp.render_to_string ~map_unicode_to_tex render n mpres in @@ -223,9 +234,13 @@ let txt_of_cic_object let aux = function | G.Executable (_, G.Command (_, G.Obj (_, N.Inductive _))) 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 *) | G.Executable (_, G.Tactic _) as stm -> @@ -235,7 +250,13 @@ 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