# HG changeset patch # User wenzelm # Date 1148674806 -7200 # Node ID 1c37d117a25d441e7a680abe3d6dd9787fef6893 # Parent 581cdbdbba9abb3a59c16ba8963807b5805faee7 activate Defines: fix frees; diff -r 581cdbdbba9a -r 1c37d117a25d src/Pure/Isar/locale.ML --- a/src/Pure/Isar/locale.ML Fri May 26 22:20:05 2006 +0200 +++ b/src/Pure/Isar/locale.ML Fri May 26 22:20:06 2006 +0200 @@ -860,11 +860,12 @@ | activate_elem _ ((ctxt, Assumed axs), Defines defs) = let val defs' = Attrib.map_specs (Attrib.attribute_i (ProofContext.theory_of ctxt)) defs; + val asms = defs' |> map (fn ((name, atts), (t, ps)) => + let val ((c, _), t') = LocalDefs.cert_def ctxt t + in (t', ((if name = "" then Thm.def_name c else name, atts), [(t', ps)])) end); val (_, ctxt') = - ctxt |> ProofContext.add_assms_i LocalDefs.def_export - (defs' |> map (fn ((name, atts), (t, ps)) => - let val ((c, _), t') = LocalDefs.cert_def ctxt t - in ((if name = "" then Thm.def_name c else name, atts), [(t', ps)]) end)) + ctxt |> fold (ProofContext.fix_frees o #1) asms + |> ProofContext.add_assms_i LocalDefs.def_export (map #2 asms); in ((ctxt', Assumed axs), []) end | activate_elem _ ((ctxt, Derived ths), Defines defs) = ((ctxt, Derived ths), [])