X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnCicPp.ml;h=454cc9b586b6b4e806a79e06c7638e18f6b2592f;hb=d0d82efaff995c566c282af806677bd42d8fd9de;hp=087e58c98b6955f40829488bffb1753571a153d8;hpb=ccbe5c840923bc9b1a5965f5738c180410ea1df9;p=helm.git diff --git a/helm/software/components/ng_kernel/nCicPp.ml b/helm/software/components/ng_kernel/nCicPp.ml index 087e58c98..454cc9b58 100644 --- a/helm/software/components/ng_kernel/nCicPp.ml +++ b/helm/software/components/ng_kernel/nCicPp.ml @@ -4,7 +4,7 @@ let ppterm = let set_ppterm f = ppterm := f;; -let ppterm ?(context=[]) ?(subst=[]) ?(metasenv=[]) t = +let ppterm ~context ~subst ~metasenv t = !ppterm ~context ~subst ~metasenv t ;; @@ -33,4 +33,25 @@ let trivial_pp_term ~context ~subst ~metasenv = | C.Sort (C.Type n) -> "Type"^string_of_int n in aux (List.map fst context) +;; + +let ppobj = function + | (u,_,metasenv,subst,NCic.Fixpoint (b, fl, _)) -> + "let rec "^NUri.string_of_uri u^"\n"^ + String.concat "\nand " + (List.map (fun (_,name,n,ty,bo) -> + name ^ " on " ^ string_of_int n ^ " : " ^ + ppterm ~metasenv ~subst ~context:[] ty ^ " :=\n"^ + ppterm ~metasenv ~subst ~context:[] bo) fl) + | (u,_,_,_,NCic.Inductive (b, _,tyl, _)) -> "inductive" + | (u,_,metasenv,subst,NCic.Constant (_,name,None,ty, _)) -> + "axiom " ^ name ^ " : " ^ + ppterm ~metasenv ~subst ~context:[] ty ^ "\n" + | (u,_,metasenv,subst,NCic.Constant (_,name,Some bo,ty, _)) -> + "definition " ^ name ^ " : " ^ + ppterm ~metasenv ~subst ~context:[] ty ^ ":=\n"^ + ppterm ~metasenv ~subst ~context:[] bo ^ "\n" +;; + +