proven witness: proper Goal.close_result save huge amounts of resources when using proof terms;
authorwenzelm
Fri, 26 Oct 2007 17:18:32 +0200
changeset 25202 3a539d9995fb
parent 25201 e6fe58b640ce
child 25203 e5b2dd8db7c8
proven witness: proper Goal.close_result save huge amounts of resources when using proof terms;
src/Pure/Isar/element.ML
--- a/src/Pure/Isar/element.ML	Fri Oct 26 16:12:58 2007 +0200
+++ b/src/Pure/Isar/element.ML	Fri Oct 26 17:18:32 2007 +0200
@@ -291,10 +291,11 @@
   Witness (t, Goal.protect (Thm.assume (Thm.cterm_of thy t)));
 
 fun prove_witness ctxt t tac =
-  Witness (t, Goal.prove ctxt [] [] (Logic.protect t) (fn _ =>
-    Tactic.rtac Drule.protectI 1 THEN tac));
+  Witness (t, Goal.close_result (Goal.prove ctxt [] [] (Logic.protect t) (fn _ =>
+    Tactic.rtac Drule.protectI 1 THEN tac)));
 
-fun conclude_witness (Witness (_, th)) = MetaSimplifier.norm_hhf_protect (Goal.conclude th);
+fun conclude_witness (Witness (_, th)) =
+  Goal.close_result (MetaSimplifier.norm_hhf_protect (Goal.conclude th));
 
 val mark_witness = Logic.protect;