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"]; |