src/Pure/Isar/proof.ML
changeset 60723 757cad5a3fe9
parent 60623 be39fe6c5620
child 60819 e1f1842bf344
equal deleted inserted replaced
60722:a8babbb6d5ea 60723:757cad5a3fe9
   496     val _ = Thm.no_prems goal orelse error (Proof_Display.string_of_goal ctxt goal);
   496     val _ = Thm.no_prems goal orelse error (Proof_Display.string_of_goal ctxt goal);
   497 
   497 
   498     fun err_lost () = error ("Lost goal structure:\n" ^ Display.string_of_thm ctxt goal);
   498     fun err_lost () = error ("Lost goal structure:\n" ^ Display.string_of_thm ctxt goal);
   499 
   499 
   500     val th =
   500     val th =
   501       (Goal.conclude (if length (flat propss) > 1 then Thm.norm_proof goal else goal)
   501       (Goal.conclude (if length (flat propss) > 1 then Thm.close_derivation goal else goal)
   502         handle THM _ => err_lost ())
   502         handle THM _ => err_lost ())
   503       |> Drule.flexflex_unique (SOME ctxt)
   503       |> Drule.flexflex_unique (SOME ctxt)
   504       |> Thm.check_shyps (Variable.sorts_of ctxt)
   504       |> Thm.check_shyps (Variable.sorts_of ctxt)
   505       |> Thm.check_hyps (Context.Proof ctxt);
   505       |> Thm.check_hyps (Context.Proof ctxt);
   506 
   506