# HG changeset patch # User wenzelm # Date 1226781092 -3600 # Node ID 7925199a0226a424174d23ce760672f45e1797aa # Parent 9f3ecb4aaac22bbc46a3a84758ada0821c373c05 adapted PThm; diff -r 9f3ecb4aaac2 -r 7925199a0226 src/Pure/Proof/proofchecker.ML --- a/src/Pure/Proof/proofchecker.ML Sat Nov 15 21:31:30 2008 +0100 +++ b/src/Pure/Proof/proofchecker.ML Sat Nov 15 21:31:32 2008 +0100 @@ -45,7 +45,7 @@ Thm.instantiate (ctye, []) (forall_intr_vars (forall_intr_frees thm')) end; - fun thm_of _ _ (PThm (name, _, prop', SOME Ts)) = + fun thm_of _ _ (PThm (_, ((name, prop', SOME Ts), _))) = let val thm = Drule.implies_intr_hyps (lookup name); val {prop, ...} = rep_thm thm; diff -r 9f3ecb4aaac2 -r 7925199a0226 src/Pure/Proof/reconstruct.ML --- a/src/Pure/Proof/reconstruct.ML Sat Nov 15 21:31:30 2008 +0100 +++ b/src/Pure/Proof/reconstruct.ML Sat Nov 15 21:31:32 2008 +0100 @@ -220,7 +220,7 @@ add_cnstrt Ts (v $ t) (prf % SOME t) cnstrts env3 vTs' (u, Const ("all", (T --> propT) --> propT) $ v) end) - | mk_cnstrts env _ _ vTs (prf as PThm (_, _, prop, opTs)) = + | mk_cnstrts env _ _ vTs (prf as PThm (_, ((_, prop, opTs), _))) = mk_cnstrts_atom env vTs prop opTs prf | mk_cnstrts env _ _ vTs (prf as PAxm (_, prop, opTs)) = mk_cnstrts_atom env vTs prop opTs prf @@ -323,7 +323,7 @@ Const ("==>", _) $ P $ Q => Q | _ => error "prop_of: ==> expected") | prop_of0 Hs (Hyp t) = t - | prop_of0 Hs (PThm (_, _, prop, SOME Ts)) = prop_of_atom prop Ts + | prop_of0 Hs (PThm (_, ((_, prop, SOME Ts), _))) = prop_of_atom prop Ts | prop_of0 Hs (PAxm (_, prop, SOME Ts)) = prop_of_atom prop Ts | prop_of0 Hs (Oracle (_, prop, SOME Ts)) = prop_of_atom prop Ts | prop_of0 _ _ = error "prop_of: partial proof object"; @@ -350,7 +350,7 @@ | expand maxidx prfs (prf % t) = let val (maxidx', prfs', prf') = expand maxidx prfs prf in (maxidx', prfs', prf' % t) end - | expand maxidx prfs (prf as PThm (a, cprf, prop, SOME Ts)) = + | expand maxidx prfs (prf as PThm (_, ((a, prop, SOME Ts), body))) = if not (exists (fn (b, NONE) => a = b | (b, SOME prop') => a = b andalso prop = prop') thms) @@ -365,7 +365,7 @@ val _ = message ("Reconstructing proof of " ^ a); val _ = message (Syntax.string_of_term_global thy prop); val prf' = forall_intr_vfs_prf prop - (reconstruct_proof thy prop cprf); + (reconstruct_proof thy prop (force_proof body)); val (maxidx', prfs', prf) = expand (maxidx_proof prf' ~1) prfs prf' in (maxidx' + maxidx + 1, inc (maxidx + 1) prf,