src/HOL/HOLCF/Tools/domaindef.ML
changeset 49833 1d80798e8d8a
parent 49759 ecf1d5d87e5e
child 52732 b4da1f2ec73f
equal deleted inserted replaced
49832:2af09163cba1 49833:1d80798e8d8a
   160     val prj_def = singleton (Proof_Context.export lthy ctxt_thy) prj_ldef
   160     val prj_def = singleton (Proof_Context.export lthy ctxt_thy) prj_ldef
   161     val defl_def = singleton (Proof_Context.export lthy ctxt_thy) defl_ldef
   161     val defl_def = singleton (Proof_Context.export lthy ctxt_thy) defl_ldef
   162     val liftemb_def = singleton (Proof_Context.export lthy ctxt_thy) liftemb_ldef
   162     val liftemb_def = singleton (Proof_Context.export lthy ctxt_thy) liftemb_ldef
   163     val liftprj_def = singleton (Proof_Context.export lthy ctxt_thy) liftprj_ldef
   163     val liftprj_def = singleton (Proof_Context.export lthy ctxt_thy) liftprj_ldef
   164     val liftdefl_def = singleton (Proof_Context.export lthy ctxt_thy) liftdefl_ldef
   164     val liftdefl_def = singleton (Proof_Context.export lthy ctxt_thy) liftdefl_ldef
   165     val type_definition_thm =
       
   166       Raw_Simplifier.rewrite_rule
       
   167         (the_list (#set_def (#2 info)))
       
   168         (#type_definition (#2 info))
       
   169     val typedef_thms =
   165     val typedef_thms =
   170       [type_definition_thm, #below_def cpo_info, emb_def, prj_def, defl_def,
   166       [#type_definition (#2 info), #below_def cpo_info, emb_def, prj_def, defl_def,
   171       liftemb_def, liftprj_def, liftdefl_def]
   167       liftemb_def, liftprj_def, liftdefl_def]
   172     val thy = lthy
   168     val thy = lthy
   173       |> Class.prove_instantiation_instance
   169       |> Class.prove_instantiation_instance
   174           (K (Tactic.rtac (@{thm typedef_domain_class} OF typedef_thms) 1))
   170           (K (Tactic.rtac (@{thm typedef_domain_class} OF typedef_thms) 1))
   175       |> Local_Theory.exit_global
   171       |> Local_Theory.exit_global