src/Pure/Proof/reconstruct.ML
changeset 44060 656ff92bad48
parent 44059 5d367ceecf56
child 44119 caddb5264048
equal deleted inserted replaced
44059:5d367ceecf56 44060:656ff92bad48
     8 sig
     8 sig
     9   val quiet_mode : bool Unsynchronized.ref
     9   val quiet_mode : bool Unsynchronized.ref
    10   val reconstruct_proof : theory -> term -> Proofterm.proof -> Proofterm.proof
    10   val reconstruct_proof : theory -> term -> Proofterm.proof -> Proofterm.proof
    11   val prop_of' : term list -> Proofterm.proof -> term
    11   val prop_of' : term list -> Proofterm.proof -> term
    12   val prop_of : Proofterm.proof -> term
    12   val prop_of : Proofterm.proof -> term
       
    13   val proof_of : thm -> Proofterm.proof
    13   val expand_proof : theory -> (string * term option) list ->
    14   val expand_proof : theory -> (string * term option) list ->
    14     Proofterm.proof -> Proofterm.proof
    15     Proofterm.proof -> Proofterm.proof
    15 end;
    16 end;
    16 
    17 
    17 structure Reconstruct : RECONSTRUCT =
    18 structure Reconstruct : RECONSTRUCT =
   321   | prop_of0 _ _ = error "prop_of: partial proof object";
   322   | prop_of0 _ _ = error "prop_of: partial proof object";
   322 
   323 
   323 val prop_of' = Envir.beta_eta_contract oo prop_of0;
   324 val prop_of' = Envir.beta_eta_contract oo prop_of0;
   324 val prop_of = prop_of' [];
   325 val prop_of = prop_of' [];
   325 
   326 
       
   327 fun proof_of thm =
       
   328   reconstruct_proof (Thm.theory_of_thm thm) (Thm.prop_of thm) (Thm.proof_of thm);
       
   329 
       
   330 
   326 
   331 
   327 (**** expand and reconstruct subproofs ****)
   332 (**** expand and reconstruct subproofs ****)
   328 
   333 
   329 fun expand_proof thy thms prf =
   334 fun expand_proof thy thms prf =
   330   let
   335   let