# HG changeset patch # User wenzelm # Date 1193411912 -7200 # Node ID 3a539d9995fb3c962295d755e9b719a0d6372709 # Parent e6fe58b640ce5d136d77dbbbb60ae0e7b50ec543 proven witness: proper Goal.close_result save huge amounts of resources when using proof terms; diff -r e6fe58b640ce -r 3a539d9995fb 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;