src/Pure/proofterm.ML
changeset 70564 2c7c8be65b7d
parent 70559 c92443e8d724
child 70569 095dadc62bb5
--- a/src/Pure/proofterm.ML	Sat Aug 17 13:24:40 2019 +0200
+++ b/src/Pure/proofterm.ML	Sat Aug 17 13:39:28 2019 +0200
@@ -37,6 +37,7 @@
 sig
   include BASIC_PROOFTERM
   val proofs: int Unsynchronized.ref
+  exception MIN_PROOF
   type pthm = proof_serial * thm_node
   type oracle = string * term option
   val proof_of: proof_body -> proof
@@ -213,6 +214,8 @@
 and thm_node =
   Thm_Node of {name: string, prop: term, body: proof_body future, consolidate: unit lazy};
 
+exception MIN_PROOF;
+
 type oracle = string * term option;
 val oracle_prop = the_default Term.dummy;
 
@@ -1821,7 +1824,7 @@
       | mk_cnstrts env _ _ vTs (prf as Oracle (_, prop, opTs)) =
           mk_cnstrts_atom env vTs (oracle_prop prop) opTs prf
       | mk_cnstrts env _ _ vTs (Hyp t) = (t, Hyp t, [], env, vTs)
-      | mk_cnstrts _ _ _ _ MinProof = error "reconstruct_proof: minimal proof object"
+      | mk_cnstrts _ _ _ _ MinProof = raise MIN_PROOF
   in mk_cnstrts env [] [] Symtab.empty cprf end;