finish: force proofs;
authorwenzelm
Tue, 18 Nov 2008 00:11:06 +0100
changeset 28831 23f4928bb7e3
parent 28830 261bf00c6ede
child 28832 cf7237498e7a
finish: force proofs;
src/Pure/Thy/thy_info.ML
--- a/src/Pure/Thy/thy_info.ML	Mon Nov 17 23:34:35 2008 +0100
+++ b/src/Pure/Thy/thy_info.ML	Tue Nov 18 00:11:06 2008 +0100
@@ -587,6 +587,12 @@
 
 (* finish all theories *)
 
-fun finish () = change_thys (Graph.map_nodes (fn (_, entry) => (NONE, entry)));
+fun force_proofs thy =
+  Facts.dest_static (map PureThy.facts_of (Theory.parents_of thy)) (PureThy.facts_of thy)
+  |> maps #2 |> ParList.map Thm.proof_of;
+
+fun finish () = change_thys (Graph.map_nodes
+  (fn (SOME _, SOME thy) => (NONE, (force_proofs thy; SOME thy))
+    | (_, entry) => (NONE, entry)));
 
 end;