equal
deleted
inserted
replaced
63 raw_intr_specs (monos, con_defs, type_intrs, type_elims) thy = |
63 raw_intr_specs (monos, con_defs, type_intrs, type_elims) thy = |
64 let |
64 let |
65 val _ = Theory.requires thy "Inductive_ZF" "(co)inductive definitions"; |
65 val _ = Theory.requires thy "Inductive_ZF" "(co)inductive definitions"; |
66 val ctxt = ProofContext.init thy; |
66 val ctxt = ProofContext.init thy; |
67 |
67 |
68 val intr_specs = map (apfst (apfst Binding.base_name)) raw_intr_specs; |
68 val intr_specs = map (apfst (apfst Binding.name_of)) raw_intr_specs; |
69 val (intr_names, intr_tms) = split_list (map fst intr_specs); |
69 val (intr_names, intr_tms) = split_list (map fst intr_specs); |
70 val case_names = RuleCases.case_names intr_names; |
70 val case_names = RuleCases.case_names intr_names; |
71 |
71 |
72 (*recT and rec_params should agree for all mutually recursive components*) |
72 (*recT and rec_params should agree for all mutually recursive components*) |
73 val rec_hds = map head_of rec_tms; |
73 val rec_hds = map head_of rec_tms; |