src/Pure/Thy/thy_output.ML
changeset 26762 78ed28528ca6
parent 26710 f79aa228c582
child 26893 44d9960d3587
--- a/src/Pure/Thy/thy_output.ML	Tue Apr 29 15:25:50 2008 +0200
+++ b/src/Pure/Thy/thy_output.ML	Tue Apr 29 19:55:02 2008 +0200
@@ -456,6 +456,13 @@
     val t' = Term.betapplys (Envir.expand_atom T (U, u), args);
   in pretty_term_abbrev ctxt (Logic.mk_equals (t, t')) end;
 
+fun pretty_fact ctxt (prop, method_text) =
+  let
+    val _ = ctxt
+      |> Proof.theorem_i NONE (K I) [[(prop, [])]]
+      |> Proof.global_terminal_proof (method_text, NONE);
+  in pretty_term ctxt prop end;
+
 fun pretty_thm ctxt = pretty_term ctxt o Thm.full_prop_of;
 
 fun pretty_term_style ctxt (name, t) =
@@ -517,6 +524,7 @@
  [("thm", args Attrib.thms (output_list pretty_thm)),
   ("thm_style", args (Scan.lift Args.liberal_name -- Attrib.thm) (output pretty_thm_style)),
   ("prop", args Args.prop (output pretty_term)),
+  ("lemma", args (Args.prop -- Scan.lift Method.simple_text) (output pretty_fact)),
   ("term", args Args.term (output pretty_term)),
   ("term_style", args (Scan.lift Args.liberal_name -- Args.term) (output pretty_term_style)),
   ("term_type", args Args.term (output pretty_term_typ)),