src/HOL/Nominal/nominal_datatype.ML
changeset 59880 30687c3f2b10
parent 59859 f9d1442c70f3
child 59936 b8ffc3dc9e24
equal deleted inserted replaced
59879:6292f1f5ffae 59880:30687c3f2b10
   527                 (descr ~~ rep_set_names))));
   527                 (descr ~~ rep_set_names))));
   528     val rep_set_names'' = map (Sign.full_bname thy3) rep_set_names';
   528     val rep_set_names'' = map (Sign.full_bname thy3) rep_set_names';
   529 
   529 
   530     val ({raw_induct = rep_induct, intrs = rep_intrs, ...}, thy4) =
   530     val ({raw_induct = rep_induct, intrs = rep_intrs, ...}, thy4) =
   531       thy3
   531       thy3
   532       |> Sign.map_naming Name_Space.concealed
   532       |> Sign.concealed
   533       |> Inductive.add_inductive_global
   533       |> Inductive.add_inductive_global
   534           {quiet_mode = false, verbose = false, alt_name = Binding.name big_rep_name,
   534           {quiet_mode = false, verbose = false, alt_name = Binding.name big_rep_name,
   535            coind = false, no_elim = true, no_ind = false, skip_mono = true}
   535            coind = false, no_elim = true, no_ind = false, skip_mono = true}
   536           (map (fn (s, T) => ((Binding.name s, T --> HOLogic.boolT), NoSyn))
   536           (map (fn (s, T) => ((Binding.name s, T --> HOLogic.boolT), NoSyn))
   537              (rep_set_names' ~~ recTs'))
   537              (rep_set_names' ~~ recTs'))
  1503           (descr'' ~~ ndescr ~~ recTs ~~ rec_preds ~~ rec_sets')
  1503           (descr'' ~~ ndescr ~~ recTs ~~ rec_preds ~~ rec_sets')
  1504           ([], [], [], [], 0);
  1504           ([], [], [], [], 0);
  1505 
  1505 
  1506     val ({intrs = rec_intrs, elims = rec_elims, raw_induct = rec_induct, ...}, thy11) =
  1506     val ({intrs = rec_intrs, elims = rec_elims, raw_induct = rec_induct, ...}, thy11) =
  1507       thy10
  1507       thy10
  1508       |> Sign.map_naming Name_Space.concealed
  1508       |> Sign.concealed
  1509       |> Inductive.add_inductive_global
  1509       |> Inductive.add_inductive_global
  1510           {quiet_mode = #quiet config, verbose = false, alt_name = Binding.name big_rec_name,
  1510           {quiet_mode = #quiet config, verbose = false, alt_name = Binding.name big_rec_name,
  1511            coind = false, no_elim = false, no_ind = false, skip_mono = true}
  1511            coind = false, no_elim = false, no_ind = false, skip_mono = true}
  1512           (map (fn (s, T) => ((Binding.name s, T), NoSyn)) (rec_set_names' ~~ rec_set_Ts))
  1512           (map (fn (s, T) => ((Binding.name s, T), NoSyn)) (rec_set_names' ~~ rec_set_Ts))
  1513           (map dest_Free rec_fns)
  1513           (map dest_Free rec_fns)