equal
deleted
inserted
replaced
331 ||> Theory.checkpoint; |
331 ||> Theory.checkpoint; |
332 |
332 |
333 val case_thms = map (map (fn t => SkipProof.prove_global thy2 [] [] t |
333 val case_thms = map (map (fn t => SkipProof.prove_global thy2 [] [] t |
334 (fn _ => EVERY [rewrite_goals_tac (case_defs @ map mk_meta_eq primrec_thms), rtac refl 1]))) |
334 (fn _ => EVERY [rewrite_goals_tac (case_defs @ map mk_meta_eq primrec_thms), rtac refl 1]))) |
335 (DatatypeProp.make_cases new_type_names descr sorts thy2) |
335 (DatatypeProp.make_cases new_type_names descr sorts thy2) |
336 |
|
337 in |
336 in |
338 thy2 |
337 thy2 |
|
338 |> Context.the_theory o fold (fold Nitpick_Const_Simp_Thms.add_thm) case_thms |
|
339 o Context.Theory |
339 |> parent_path flat_names |
340 |> parent_path flat_names |
340 |> store_thmss "cases" new_type_names case_thms |
341 |> store_thmss "cases" new_type_names case_thms |
341 |-> (fn thmss => pair (thmss, case_names)) |
342 |-> (fn thmss => pair (thmss, case_names)) |
342 end; |
343 end; |
343 |
344 |