reject internal names, notably from Term.free_dummy_patterns;
authorwenzelm
Mon, 17 Mar 2014 10:11:23 +0100
changeset 56169 9b0dc5c704c9
parent 56168 088b64497a61
child 56170 638b29331549
reject internal names, notably from Term.free_dummy_patterns;
src/Pure/Isar/specification.ML
--- a/src/Pure/Isar/specification.ML	Mon Mar 17 10:01:58 2014 +0100
+++ b/src/Pure/Isar/specification.ML	Mon Mar 17 10:11:23 2014 +0100
@@ -200,6 +200,7 @@
   let
     val (vars, [((raw_name, atts), prop)]) = fst (prep (the_list raw_var) [raw_spec] lthy);
     val (((x, T), rhs), prove) = Local_Defs.derived_def lthy true prop;
+    val _ = Name.reject_internal (x, []);
     val var as (b, _) =
       (case vars of
         [] => (Binding.name x, NoSyn)
@@ -240,6 +241,7 @@
       prep (the_list raw_var) [(Attrib.empty_binding, raw_prop)]
         (lthy1 |> Proof_Context.set_mode Proof_Context.mode_abbrev);
     val ((x, T), rhs) = Local_Defs.abs_def (#2 (Local_Defs.cert_def lthy1 prop));
+    val _ = Name.reject_internal (x, []);
     val var =
       (case vars of
         [] => (Binding.name x, NoSyn)