proper merge of promises to avoid exponential blow-up in pathologic situations (e.g. lack of PThm wrapping);
authorwenzelm
Thu, 30 Aug 2012 15:22:21 +0200
changeset 49008 a3cdb49c22cc
parent 49007 f781bbe0d91b
child 49009 15381ea111ec
proper merge of promises to avoid exponential blow-up in pathologic situations (e.g. lack of PThm wrapping);
src/Pure/thm.ML
--- a/src/Pure/thm.ML	Wed Aug 29 22:18:33 2012 +0200
+++ b/src/Pure/thm.ML	Thu Aug 30 15:22:21 2012 +0200
@@ -514,7 +514,7 @@
 
 fun join_promises [] = ()
   | join_promises promises = join_promises_of (Future.joins (map snd promises))
-and join_promises_of thms = join_promises (maps raw_promises_of thms);
+and join_promises_of thms = join_promises (Ord_List.make promise_ord (maps raw_promises_of thms));
 
 fun fulfill_body (Thm (Deriv {promises, body}, {thy_ref, ...})) =
   Proofterm.fulfill_norm_proof (Theory.deref thy_ref) (fulfill_promises promises) body