src/Pure/proofterm.ML
changeset 70406 8473c1b32e2e
parent 70405 64fdd75c1dea
child 70408 be32cb8bfe25
equal deleted inserted replaced
70405:64fdd75c1dea 70406:8473c1b32e2e
  1716               deps = [], pri = 1, interrupts = true}
  1716               deps = [], pri = 1, interrupts = true}
  1717             (fn () => make_body0 (rew prf0))
  1717             (fn () => make_body0 (rew prf0))
  1718         end;
  1718         end;
  1719 
  1719 
  1720     fun export i prf1 =
  1720     fun export i prf1 =
  1721      (if Options.default_bool "export_proofs" then
  1721      if Options.default_bool "export_proofs" then
  1722         Export.export thy (Path.binding0 (Path.make ["proofs", string_of_int i]))
  1722         Export.export thy (Path.binding0 (Path.make ["proofs", string_of_int i]))
  1723           (Buffer.chunks
  1723           (Buffer.chunks
  1724             (YXML.buffer_body (Term_XML.Encode.term (term_of_proof prf1)) Buffer.empty))
  1724             (YXML.buffer_body (Term_XML.Encode.term (term_of_proof prf1)) Buffer.empty))
  1725       else ();
  1725       else ();
  1726       if Options.default_bool "prune_proofs" then MinProof else prf1);
  1726 
  1727 
  1727     fun prune prf1 =
  1728     fun publish i = clean_proof thy #> export i #> shrink_proof;
  1728       if Options.default_bool "prune_proofs" then MinProof else shrink_proof prf1;
       
  1729 
       
  1730     fun publish i = clean_proof thy #> tap (export i) #> prune;
  1729 
  1731 
  1730     fun new_prf () =
  1732     fun new_prf () =
  1731       let
  1733       let
  1732         val i = serial ();
  1734         val i = serial ();
  1733         val postproc =
  1735         val postproc =