src/Pure/Isar/specification.ML
changeset 63038 1fbad761c1ba
parent 63019 80ef19b51493
child 63041 cb495c4807b3
equal deleted inserted replaced
63037:b8b672f70d76 63038:1fbad761c1ba
   235 
   235 
   236 fun gen_def prep (raw_var, raw_spec) int lthy =
   236 fun gen_def prep (raw_var, raw_spec) int lthy =
   237   let
   237   let
   238     val ((vars, [((raw_name, atts), prop)]), get_pos) =
   238     val ((vars, [((raw_name, atts), prop)]), get_pos) =
   239       fst (prep (the_list raw_var) [raw_spec] lthy);
   239       fst (prep (the_list raw_var) [raw_spec] lthy);
   240     val (((x, T), rhs), prove) = Local_Defs.derived_def lthy true prop;
   240     val (((x, T), rhs), prove) = Local_Defs.derived_def lthy {conditional = true} prop;
   241     val _ = Name.reject_internal (x, []);
   241     val _ = Name.reject_internal (x, []);
   242     val (b, mx) =
   242     val (b, mx) =
   243       (case vars of
   243       (case vars of
   244         [] => (Binding.make (x, get_pos x), NoSyn)
   244         [] => (Binding.make (x, get_pos x), NoSyn)
   245       | [((b, _), mx)] =>
   245       | [((b, _), mx)] =>