src/HOL/Tools/BNF/bnf_gfp_rec_sugar.ML
changeset 59582 0fbed69ff081
parent 59283 5ca195783da8
child 59594 43f0c669302d
equal deleted inserted replaced
59580:cbc38731d42f 59582:0fbed69ff081
  1341               in
  1341               in
  1342                 (case rhs_info_opt of
  1342                 (case rhs_info_opt of
  1343                   NONE => []
  1343                   NONE => []
  1344                 | SOME (exhaustive_code, rhs, raw_rhs, ctr_thms) =>
  1344                 | SOME (exhaustive_code, rhs, raw_rhs, ctr_thms) =>
  1345                   let
  1345                   let
  1346                     val ms = map (Logic.count_prems o prop_of) ctr_thms;
  1346                     val ms = map (Logic.count_prems o Thm.prop_of) ctr_thms;
  1347                     val (raw_goal, goal) = (raw_rhs, rhs)
  1347                     val (raw_goal, goal) = (raw_rhs, rhs)
  1348                       |> apply2 (curry mk_Trueprop_eq (applied_fun_of fun_name fun_T fun_args)
  1348                       |> apply2 (curry mk_Trueprop_eq (applied_fun_of fun_name fun_T fun_args)
  1349                         #> curry Logic.list_all (map dest_Free fun_args));
  1349                         #> curry Logic.list_all (map dest_Free fun_args));
  1350                     val (distincts, discIs, _, split_sels, split_sel_asms) =
  1350                     val (distincts, discIs, _, split_sels, split_sel_asms) =
  1351                       case_thms_of_term lthy raw_rhs;
  1351                       case_thms_of_term lthy raw_rhs;