ML_file ‹renaming.ML›
ML‹
fun renaming_def mk_ren name from to ctxt =
let val to = to |> Syntax.read_term ctxt
val from = from |> Syntax.read_term ctxt
val (tc_lemma,action_lemma,fvs,r) = mk_ren from to ctxt
val (tc_lemma,action_lemma) =
(Renaming.fix_vars tc_lemma fvs ctxt, Renaming.fix_vars action_lemma fvs ctxt)
val ren_fun_name = Binding.name (name ^ "_fn")
val ren_fun_def = Binding.name (name ^ "_fn_def")
val ren_thm = Binding.name (name ^ "_thm")
in
Local_Theory.note ((ren_thm, []), [tc_lemma,action_lemma]) ctxt |> snd |>
Local_Theory.define ((ren_fun_name, NoSyn), ((ren_fun_def, []), r)) |> snd
end; ›
val _ =
Outer_Syntax.local_theory 🍋‹rename› "ML setup for synthetic definitions"
(ren_parser >> (fn ((name,(from,to)),_) => renaming_def Renaming.sum_rename name from to ))
val _ =
Outer_Syntax.local_theory 🍋‹simple_rename› "ML setup for synthetic definitions"
(ren_parser >> (fn ((name,(from,to)),_) => renaming_def Renaming.ren_thm name from to ))
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.