--- a/src/Pure/Thy/thm_database.ML Sun Oct 14 22:05:46 2001 +0200
+++ b/src/Pure/Thy/thm_database.ML Sun Oct 14 22:07:01 2001 +0200
@@ -14,6 +14,10 @@
val qed: string -> unit
val qed_goal: string -> theory -> string -> (thm list -> tactic list) -> unit
val qed_goalw: string -> theory -> thm list -> string -> (thm list -> tactic list) -> unit
+ val qed_spec_mp: string -> unit
+ val qed_goal_spec_mp: string -> theory -> string -> (thm list -> tactic list) -> unit
+ val qed_goalw_spec_mp: string -> theory -> thm list -> string
+ -> (thm list -> tactic list) -> unit
val no_qed: unit -> unit
(*these peek at the proof state!*)
val thms_containing: xstring list -> (string * thm) list
@@ -89,6 +93,11 @@
fun qed name = ml_store_thm (name, Goals.result ());
fun qed_goal name thy goal tacsf = ml_store_thm (name, prove_goal thy goal tacsf);
fun qed_goalw name thy rews goal tacsf = ml_store_thm (name, prove_goalw thy rews goal tacsf);
+fun qed_spec_mp name = ml_store_thm (name, ObjectLogic.rulify_no_asm (Goals.result ()));
+fun qed_goal_spec_mp name thy s p =
+ bind_thm (name, ObjectLogic.rulify_no_asm (prove_goal thy s p));
+fun qed_goalw_spec_mp name thy defs s p =
+ bind_thm (name, ObjectLogic.rulify_no_asm (prove_goalw thy defs s p));
fun no_qed () = ();