src/Pure/Tools/codegen_theorems.ML
changeset 19571 0d673faf560c
parent 19482 9f11af8f7ef9
child 19597 8ced57ffc090
equal deleted inserted replaced
19570:f199cb2295fd 19571:0d673faf560c
   437       (these o Symtab.lookup (the_funs thy)) c
   437       (these o Symtab.lookup (the_funs thy)) c
   438       |> map (dest_fun thy)
   438       |> map (dest_fun thy)
   439       |> filter_typ;
   439       |> filter_typ;
   440     val thms = case thms_funs
   440     val thms = case thms_funs
   441      of [] =>
   441      of [] =>
   442           Defs.specifications_of (Theory.defs_of thy) c
   442           Theory.definitions_of thy c
   443           |> map (PureThy.get_thms thy o Name o fst o snd)
   443           (* FIXME avoid dynamic name space lookup!? (via Thm.get_axiom_i etc.??) *)
   444           |> flat
   444           |> maps (PureThy.get_thms thy o Name o #name)
   445           |> append (getf_first_list (map (fn f => f thy) (the_funs_extrs thy)) (c, ty))
   445           |> append (getf_first_list (map (fn f => f thy) (the_funs_extrs thy)) (c, ty))
   446           |> map (dest_fun thy)
   446           |> map (dest_fun thy)
   447           |> filter_typ
   447           |> filter_typ
   448       | thms => thms
   448       | thms => thms
   449   in
   449   in