src/Pure/thm.ML
changeset 29003 d8d3cbbb6fcc
parent 28996 01918abaa9e7
child 29269 5c25a2012975
equal deleted inserted replaced
29002:c9cdb569487a 29003:d8d3cbbb6fcc
   147   val varifyT': (string * sort) list -> thm -> ((string * sort) * indexname) list * thm
   147   val varifyT': (string * sort) list -> thm -> ((string * sort) * indexname) list * thm
   148   val freezeT: thm -> thm
   148   val freezeT: thm -> thm
   149   val future: thm future -> cterm -> thm
   149   val future: thm future -> cterm -> thm
   150   val proof_body_of: thm -> proof_body
   150   val proof_body_of: thm -> proof_body
   151   val proof_of: thm -> proof
   151   val proof_of: thm -> proof
   152   val force_proof: thm -> unit
   152   val join_proof: thm -> unit
   153   val extern_oracles: theory -> xstring list
   153   val extern_oracles: theory -> xstring list
   154   val add_oracle: bstring * ('a -> cterm) -> theory -> (string * ('a -> thm)) * theory
   154   val add_oracle: bstring * ('a -> cterm) -> theory -> (string * ('a -> thm)) * theory
   155 end;
   155 end;
   156 
   156 
   157 structure Thm:> THM =
   157 structure Thm:> THM =
  1636     val _ = Exn.release_all (map (Future.join_result o #2) (rev open_promises));
  1636     val _ = Exn.release_all (map (Future.join_result o #2) (rev open_promises));
  1637     val ps = map (apsnd (raw_proof_of o Future.join)) promises;
  1637     val ps = map (apsnd (raw_proof_of o Future.join)) promises;
  1638   in Pt.fulfill_proof (Theory.deref thy_ref) ps body end;
  1638   in Pt.fulfill_proof (Theory.deref thy_ref) ps body end;
  1639 
  1639 
  1640 val proof_of = Proofterm.proof_of o proof_body_of;
  1640 val proof_of = Proofterm.proof_of o proof_body_of;
  1641 val force_proof = ignore o proof_body_of;
  1641 val join_proof = ignore o proof_body_of;
  1642 
  1642 
  1643 
  1643 
  1644 (* closed derivations with official name *)
  1644 (* closed derivations with official name *)
  1645 
  1645 
  1646 fun get_name thm =
  1646 fun get_name thm =