src/ZF/Tools/inductive_package.ML
changeset 30223 24d975352879
parent 30190 479806475f3c
child 30242 aea5d7fa7ef5
equal deleted inserted replaced
30222:4102bbf2af21 30223:24d975352879
    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;