# HG changeset patch # User wenzelm # Date 1684062921 -7200 # Node ID fc5761f07da50af5b0c1e89fea1665c09456e14b # Parent 1828b174768e9cbe96baa2a44b1255912ca25f64 tuned; diff -r 1828b174768e -r fc5761f07da5 src/Pure/Isar/expression.ML --- a/src/Pure/Isar/expression.ML Sun May 14 13:00:49 2023 +0200 +++ b/src/Pure/Isar/expression.ML Sun May 14 13:15:21 2023 +0200 @@ -743,41 +743,41 @@ val ctxt = Proof_Context.init_global thy; val defs' = map (Thm.cterm_of ctxt #> Assumption.assume ctxt #> Drule.abs_def) defs; - val (a_pred, a_intro, a_axioms, thy'') = + val (a_pred, a_intro, a_axioms, thy2) = if null exts then (NONE, NONE, [], thy) else let val abinding = if null ints then binding else Binding.suffix_name ("_" ^ axiomsN) binding; - val ((statement, intro, axioms), thy') = + val ((statement, intro, axioms), thy1) = thy |> def_pred abinding parms defs' exts exts'; - val ((_, [intro']), thy'') = - thy' + val ((_, [intro']), thy2) = + thy1 |> Sign.qualified_path true abinding |> Global_Theory.note_thms "" ((Binding.name introN, []), [([intro], [Locale.unfold_add])]) - ||> Sign.restore_naming thy'; - in (SOME statement, SOME intro', axioms, thy'') end; - val (b_pred, b_intro, b_axioms, thy'''') = - if null ints then (NONE, NONE, [], thy'') + ||> Sign.restore_naming thy1; + in (SOME statement, SOME intro', axioms, thy2) end; + val (b_pred, b_intro, b_axioms, thy4) = + if null ints then (NONE, NONE, [], thy2) else let - val ((statement, intro, axioms), thy''') = - thy'' + val ((statement, intro, axioms), thy3) = + thy2 |> def_pred binding parms defs' (ints @ the_list a_pred) (ints' @ the_list a_pred); val conclude_witness = - Drule.export_without_context o Element.conclude_witness (Proof_Context.init_global thy'''); - val ([(_, [intro']), _], thy'''') = - thy''' + Drule.export_without_context o Element.conclude_witness (Proof_Context.init_global thy3); + val ([(_, [intro']), _], thy4) = + thy3 |> Sign.qualified_path true binding |> Global_Theory.note_thmss "" [((Binding.name introN, []), [([intro], [Locale.intro_add])]), ((Binding.name axiomsN, []), [(map conclude_witness axioms, [])])] - ||> Sign.restore_naming thy'''; - in (SOME statement, SOME intro', axioms, thy'''') end; - in ((a_pred, a_intro, a_axioms), (b_pred, b_intro, b_axioms), thy'''') end; + ||> Sign.restore_naming thy3; + in (SOME statement, SOME intro', axioms, thy4) end; + in ((a_pred, a_intro, a_axioms), (b_pred, b_intro, b_axioms), thy4) end; end;