src/HOL/Nominal/nominal_datatype.ML
changeset 58238 a701907d621e
parent 58225 f5144942a83a
child 58239 1c5bc387bd4c
equal deleted inserted replaced
58237:17200800a553 58238:a701907d621e
   198         map (fn (cname, cargs, mx) => (Binding.suffix_name "_Rep" cname,
   198         map (fn (cname, cargs, mx) => (Binding.suffix_name "_Rep" cname,
   199           map replace_types cargs, NoSyn)) constrs)) dts';
   199           map replace_types cargs, NoSyn)) constrs)) dts';
   200 
   200 
   201     val new_type_names' = map (fn n => n ^ "_Rep") new_type_names;
   201     val new_type_names' = map (fn n => n ^ "_Rep") new_type_names;
   202 
   202 
   203     val (full_new_type_names',thy1) = Old_Datatype.add_datatype config dts'' thy;
   203     val (full_new_type_names',thy1) = BNF_LFP_Compat.add_datatype BNF_LFP_Compat.Unfold_Nesting dts'' thy;
   204 
   204 
   205     val {descr, induct, ...} = Old_Datatype_Data.the_info thy1 (hd full_new_type_names');
   205     val {descr, induct, ...} = BNF_LFP_Compat.the_info thy1 BNF_LFP_Compat.Unfold_Nesting (hd full_new_type_names');
   206     fun nth_dtyp i = Old_Datatype_Aux.typ_of_dtyp descr (Old_Datatype_Aux.DtRec i);
   206     fun nth_dtyp i = Old_Datatype_Aux.typ_of_dtyp descr (Old_Datatype_Aux.DtRec i);
   207 
   207 
   208     val big_name = space_implode "_" new_type_names;
   208     val big_name = space_implode "_" new_type_names;
   209 
   209 
   210 
   210