src/HOL/Tools/datatype_abs_proofs.ML
changeset 29866 6e93ae65c678
parent 29579 cb520b766e00
child 29927 ae8f42c245b2
equal deleted inserted replaced
29865:c9bef39be3d2 29866:6e93ae65c678
   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