added future_terminal_proof;
authorwenzelm
Mon, 05 Jan 2009 14:22:40 +0100
changeset 29350 c7735554d291
parent 29349 b49d8501720a
child 29351 59250869ced5
child 29354 6ef5ddf22d3a
added future_terminal_proof;
src/Pure/Isar/proof.ML
--- a/src/Pure/Isar/proof.ML	Mon Jan 05 00:13:11 2009 +0100
+++ b/src/Pure/Isar/proof.ML	Mon Jan 05 14:22:40 2009 +0100
@@ -115,6 +115,7 @@
     ((Binding.T * attribute list) * (term * term list) list) list -> bool -> state -> state
   val is_relevant: state -> bool
   val future_proof: (state -> ('a * context) future) -> state -> 'a future * context
+  val future_terminal_proof: Method.text * Method.text option -> state -> context
 end;
 
 structure Proof: PROOF =
@@ -1027,5 +1028,10 @@
 
 end;
 
+fun future_terminal_proof meths state =
+  if is_relevant state then global_terminal_proof meths state
+  else #2 (state |> future_proof (fn state' =>
+    Future.fork_pri ~1 (fn () => ((), global_terminal_proof meths state'))));
+
 end;