src/HOL/Tools/inductive_package.ML
changeset 16486 1a12cdb6ee6b
parent 16432 a6e8fb94a8ca
child 16785 2eddcce4fd16
equal deleted inserted replaced
16485:77ae3bfa8b76 16486:1a12cdb6ee6b
   612   let
   612   let
   613     val _ = clean_message "  Proving the induction rule ...";
   613     val _ = clean_message "  Proving the induction rule ...";
   614 
   614 
   615     val sum_case_rewrites =
   615     val sum_case_rewrites =
   616       (if Context.theory_name thy = "Datatype" then
   616       (if Context.theory_name thy = "Datatype" then
   617         PureThy.get_thms thy ("sum.cases", NONE)
   617         PureThy.get_thms thy (Name "sum.cases")
   618       else
   618       else
   619         (case ThyInfo.lookup_theory "Datatype" of
   619         (case ThyInfo.lookup_theory "Datatype" of
   620           NONE => []
   620           NONE => []
   621         | SOME thy' => PureThy.get_thms thy' ("sum.cases", NONE)))
   621         | SOME thy' => PureThy.get_thms thy' (Name "sum.cases")))
   622       |> map mk_meta_eq;
   622       |> map mk_meta_eq;
   623 
   623 
   624     val (preds, ind_prems, mutual_ind_concl, factors) =
   624     val (preds, ind_prems, mutual_ind_concl, factors) =
   625       mk_indrule cs cTs params intr_ts;
   625       mk_indrule cs cTs params intr_ts;
   626 
   626