src/HOL/Tools/Datatype/datatype_codegen.ML
changeset 38348 cf7b2121ad9d
parent 37425 b5492f611129
child 38538 c87b69396a37
equal deleted inserted replaced
38347:19000bb11ff5 38348:cf7b2121ad9d
   113           [((prefix dtco "refl", [Code.add_nbe_default_eqn_attribute]), [([thm], [])]),
   113           [((prefix dtco "refl", [Code.add_nbe_default_eqn_attribute]), [([thm], [])]),
   114             ((prefix dtco "simps", [Code.add_default_eqn_attribute]), [(rev thms, [])])])
   114             ((prefix dtco "simps", [Code.add_default_eqn_attribute]), [(rev thms, [])])])
   115       #> snd
   115       #> snd
   116   in
   116   in
   117     thy
   117     thy
   118     |> Theory_Target.instantiation (dtcos, vs, [HOLogic.class_eq])
   118     |> Class.instantiation (dtcos, vs, [HOLogic.class_eq])
   119     |> fold_map add_def dtcos
   119     |> fold_map add_def dtcos
   120     |-> (fn def_thms => Class.prove_instantiation_exit_result (map o Morphism.thm)
   120     |-> (fn def_thms => Class.prove_instantiation_exit_result (map o Morphism.thm)
   121          (fn _ => fn def_thms => tac def_thms) def_thms)
   121          (fn _ => fn def_thms => tac def_thms) def_thms)
   122     |-> (fn def_thms => fold Code.del_eqn def_thms)
   122     |-> (fn def_thms => fold Code.del_eqn def_thms)
   123     |> fold add_eq_thms dtcos
   123     |> fold add_eq_thms dtcos