always close derivation, for significantly improved performance without parallel proofs;
authorwenzelm
Wed, 14 Dec 2016 16:59:41 +0100
changeset 64567 7141a3a4dc83
parent 64566 679710d324f1
child 64568 a504a3dec35a
always close derivation, for significantly improved performance without parallel proofs;
src/Pure/Isar/proof.ML
src/Pure/goal.ML
--- a/src/Pure/Isar/proof.ML	Wed Dec 14 15:48:18 2016 +0100
+++ b/src/Pure/Isar/proof.ML	Wed Dec 14 16:59:41 2016 +0100
@@ -522,8 +522,7 @@
     fun err_lost () = error ("Lost goal structure:\n" ^ Thm.string_of_thm ctxt goal);
 
     val th =
-      (Goal.conclude (if length (flat propss) > 1 then Thm.close_derivation goal else goal)
-        handle THM _ => err_lost ())
+      (Goal.conclude (Thm.close_derivation goal) handle THM _ => err_lost ())
       |> Drule.flexflex_unique (SOME ctxt)
       |> Thm.check_shyps ctxt
       |> Thm.check_hyps (Context.Proof ctxt);
--- a/src/Pure/goal.ML	Wed Dec 14 15:48:18 2016 +0100
+++ b/src/Pure/goal.ML	Wed Dec 14 16:59:41 2016 +0100
@@ -232,7 +232,7 @@
           (Thm.term_of stmt);
   in
     res
-    |> length props > 1 ? Thm.close_derivation
+    |> Thm.close_derivation
     |> Conjunction.elim_balanced (length props)
     |> map (Assumption.export false ctxt' ctxt)
     |> Variable.export ctxt' ctxt