equal
deleted
inserted
replaced
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; |