src/HOL/Tools/inductive_package.ML
changeset 18234 0183318232f2
parent 18222 a8ccacce3b52
child 18330 444f16d232a2
equal deleted inserted replaced
18233:5a124c76e92f 18234:0183318232f2
   786         prove_indrule cs cTs sumT rec_const params intr_ts mono fp_def
   786         prove_indrule cs cTs sumT rec_const params intr_ts mono fp_def
   787           rec_sets_defs thy1;
   787           rec_sets_defs thy1;
   788     val induct =
   788     val induct =
   789       if coind then
   789       if coind then
   790         (raw_induct, [RuleCases.case_names [rec_name],
   790         (raw_induct, [RuleCases.case_names [rec_name],
   791           RuleCases.case_conclusion_binops rec_name induct_cases,
   791           RuleCases.case_conclusion (rec_name, induct_cases),
   792           RuleCases.consumes 1])
   792           RuleCases.consumes 1])
   793       else if no_ind orelse length cs > 1 then
   793       else if no_ind orelse length cs > 1 then
   794         (raw_induct, [RuleCases.case_names induct_cases, RuleCases.consumes 0])
   794         (raw_induct, [RuleCases.case_names induct_cases, RuleCases.consumes 0])
   795       else (raw_induct RSN (2, rev_mp), [RuleCases.case_names induct_cases, RuleCases.consumes 1]);
   795       else (raw_induct RSN (2, rev_mp), [RuleCases.case_names induct_cases, RuleCases.consumes 1]);
   796 
   796