added using_thmss(_i);
authorwenzelm
Sun, 24 Feb 2002 21:47:33 +0100
changeset 12930 c1f3ff5feff1
parent 12929 dbac8831d954
child 12931 2c0251fada94
added using_thmss(_i);
src/Pure/Isar/proof.ML
--- a/src/Pure/Isar/proof.ML	Sun Feb 24 21:47:01 2002 +0100
+++ b/src/Pure/Isar/proof.ML	Sun Feb 24 21:47:33 2002 +0100
@@ -59,6 +59,8 @@
     (xstring * context attribute list) list) list -> state -> state
   val with_thmss_i: ((bstring * context attribute list) *
     (thm list * context attribute list) list) list -> state -> state
+  val using_thmss: ((xstring * context attribute list) list) list -> state -> state
+  val using_thmss_i: ((thm list * context attribute list) list) list -> state -> state
   val fix: (string list * string option) list -> state -> state
   val fix_i: (string list * typ option) list -> state -> state
   val assm: ProofContext.exporter
@@ -543,6 +545,26 @@
 end;
 
 
+(* using_thmss *)
+
+local
+
+fun gen_using_thmss f args state =
+  state
+  |> assert_backward
+  |> map_context_result (f (map (pair ("", [])) args))
+  |> (fn (st, named_facts) =>
+    let val (_, (_, ((result, (facts, thm)), f))) = find_goal st;
+    in st |> map_goal I (K ((result, (facts @ flat (map snd named_facts), thm)), f)) end);
+
+in
+
+val using_thmss = gen_using_thmss ProofContext.have_thmss;
+val using_thmss_i = gen_using_thmss ProofContext.have_thmss_i;
+
+end;
+
+
 (* fix *)
 
 fun gen_fix f xs state =