equal
deleted
inserted
replaced
259 fun define_single_primrec b eqs lthy = |
259 fun define_single_primrec b eqs lthy = |
260 let |
260 let |
261 val (([free], [def_free], [simps_free]), (lthy, lthy_old)) = lthy |
261 val (([free], [def_free], [simps_free]), (lthy, lthy_old)) = lthy |
262 |> Local_Theory.open_target |> snd |
262 |> Local_Theory.open_target |> snd |
263 |> Local_Theory.map_background_naming (mk_internal true lthy Name_Space.concealed) (*TODO check*) |
263 |> Local_Theory.map_background_naming (mk_internal true lthy Name_Space.concealed) (*TODO check*) |
264 |> primrec [] [(b, NONE, NoSyn)] (map (fn eq => ((Binding.empty_atts, eq), [], [])) eqs) |
264 |> primrec false [] [(b, NONE, NoSyn)] (map (fn eq => ((Binding.empty_atts, eq), [], [])) eqs) |
265 ||> `Local_Theory.close_target; |
265 ||> `Local_Theory.close_target; |
266 |
266 |
267 val phi = Proof_Context.export_morphism lthy_old lthy; |
267 val phi = Proof_Context.export_morphism lthy_old lthy; |
268 |
268 |
269 val const = Morphism.term phi free; |
269 val const = Morphism.term phi free; |