src/HOL/Nominal/nominal_package.ML
changeset 24814 0384f48a806e
parent 24746 6d42be359d57
child 24867 e5b55d7be9bb
equal deleted inserted replaced
24813:74bc59c2c4a6 24814:0384f48a806e
   593                 (descr ~~ rep_set_names))));
   593                 (descr ~~ rep_set_names))));
   594     val rep_set_names'' = map (Sign.full_name thy3) rep_set_names';
   594     val rep_set_names'' = map (Sign.full_name thy3) rep_set_names';
   595 
   595 
   596     val ({raw_induct = rep_induct, intrs = rep_intrs, ...}, thy4) =
   596     val ({raw_induct = rep_induct, intrs = rep_intrs, ...}, thy4) =
   597       setmp InductivePackage.quiet_mode false
   597       setmp InductivePackage.quiet_mode false
   598         (InductivePackage.add_inductive_global false big_rep_name false true false
   598         (InductivePackage.add_inductive_global {verbose = false, kind = Thm.internalK,
       
   599             alt_name = big_rep_name, coind = false, no_elim = true, no_ind = false}
   599            (map (fn (s, T) => ((s, T --> HOLogic.boolT), NoSyn))
   600            (map (fn (s, T) => ((s, T --> HOLogic.boolT), NoSyn))
   600               (rep_set_names' ~~ recTs'))
   601               (rep_set_names' ~~ recTs'))
   601            [] (map (fn x => (("", []), x)) intr_ts) []) thy3;
   602            [] (map (fn x => (("", []), x)) intr_ts) []) thy3;
   602 
   603 
   603     (**** Prove that representing set is closed under permutation ****)
   604     (**** Prove that representing set is closed under permutation ****)
  1520           (([], [], [], [], 0), descr'' ~~ ndescr ~~ recTs ~~ rec_preds ~~ rec_sets');
  1521           (([], [], [], [], 0), descr'' ~~ ndescr ~~ recTs ~~ rec_preds ~~ rec_sets');
  1521 
  1522 
  1522     val ({intrs = rec_intrs, elims = rec_elims, raw_induct = rec_induct, ...}, thy11) =
  1523     val ({intrs = rec_intrs, elims = rec_elims, raw_induct = rec_induct, ...}, thy11) =
  1523       thy10 |>
  1524       thy10 |>
  1524       setmp InductivePackage.quiet_mode (!quiet_mode)
  1525       setmp InductivePackage.quiet_mode (!quiet_mode)
  1525         (InductivePackage.add_inductive_global false big_rec_name false false false
  1526         (InductivePackage.add_inductive_global {verbose = false, kind = Thm.internalK,
       
  1527             alt_name = big_rec_name, coind = false, no_elim = false, no_ind = false}
  1526            (map (fn (s, T) => ((s, T), NoSyn)) (rec_set_names' ~~ rec_set_Ts))
  1528            (map (fn (s, T) => ((s, T), NoSyn)) (rec_set_names' ~~ rec_set_Ts))
  1527            (map dest_Free rec_fns)
  1529            (map dest_Free rec_fns)
  1528            (map (fn x => (("", []), x)) rec_intr_ts) []) ||>
  1530            (map (fn x => (("", []), x)) rec_intr_ts) []) ||>
  1529       PureThy.hide_thms true [NameSpace.append
  1531       PureThy.hide_thms true [NameSpace.append
  1530         (Sign.full_name thy10 big_rec_name) "induct"];
  1532         (Sign.full_name thy10 big_rec_name) "induct"];