changeset 63041 | cb495c4807b3 |
parent 63039 | 1a20fd9cf281 |
child 63056 | 9b95ae9ec671 |
63040:eb4ddd18d635 | 63041:cb495c4807b3 |
---|---|
744 |-> (fn vars => |
744 |-> (fn vars => |
745 map_context_result (prep_binds false (map swap raw_rhss)) |
745 map_context_result (prep_binds false (map swap raw_rhss)) |
746 #-> (fn rhss => |
746 #-> (fn rhss => |
747 let |
747 let |
748 val defs = (vars ~~ (name_atts ~~ rhss)) |> map (fn ((x, mx), ((a, atts), rhs)) => |
748 val defs = (vars ~~ (name_atts ~~ rhss)) |> map (fn ((x, mx), ((a, atts), rhs)) => |
749 ((x, mx), ((Binding.reset_pos (Thm.def_binding_optional x a), atts), rhs))); |
749 ((x, mx), ((Thm.def_binding_optional x a, atts), rhs))); |
750 in map_context_result (Local_Defs.add_defs defs) end)) |
750 in map_context_result (Local_Defs.add_defs defs) end)) |
751 |-> (set_facts o map (#2 o #2)) |
751 |-> (set_facts o map (#2 o #2)) |
752 end; |
752 end; |
753 |
753 |
754 in |
754 in |
934 map (fn (((_, prove), ((b, _), _)), (_, (_, th))) => (b, export (prove fixes_ctxt th))) |
934 map (fn (((_, prove), ((b, _), _)), (_, (_, th))) => (b, export (prove fixes_ctxt th))) |
935 (defs1 ~~ defs2 ~~ defs3) |
935 (defs1 ~~ defs2 ~~ defs3) |
936 |> unflat (map snd raw_defs); |
936 |> unflat (map snd raw_defs); |
937 val notes = |
937 val notes = |
938 map2 (fn ((a, raw_atts), _) => fn def_thms => |
938 map2 (fn ((a, raw_atts), _) => fn def_thms => |
939 ((Binding.reset_pos (Thm.def_binding_optional (Binding.conglomerate (map #1 def_thms)) a), |
939 ((Thm.def_binding_optional (Binding.conglomerate (map #1 def_thms)) a, |
940 map (prep_att defs_ctxt) raw_atts), map (fn (_, th) => ([th], [])) def_thms)) |
940 map (prep_att defs_ctxt) raw_atts), map (fn (_, th) => ([th], [])) def_thms)) |
941 raw_defs def_thmss; |
941 raw_defs def_thmss; |
942 in |
942 in |
943 state |
943 state |
944 |> map_context (K defs_ctxt #> fold Variable.bind_term binds') |
944 |> map_context (K defs_ctxt #> fold Variable.bind_term binds') |