src/HOL/HOLCF/Tools/cpodef.ML
changeset 81584 a065d8bcfd3d
parent 80634 a90ab1ea6458
equal deleted inserted replaced
81583:b6df83045178 81584:a065d8bcfd3d
   181           ((Binding.prefix_name "below_" (Thm.def_binding name), []), below_eqn)
   181           ((Binding.prefix_name "below_" (Thm.def_binding name), []), below_eqn)
   182     val ctxt_thy = Proof_Context.init_global (Proof_Context.theory_of lthy)
   182     val ctxt_thy = Proof_Context.init_global (Proof_Context.theory_of lthy)
   183     val below_def = singleton (Proof_Context.export lthy ctxt_thy) below_ldef
   183     val below_def = singleton (Proof_Context.export lthy ctxt_thy) below_ldef
   184     val thy = lthy
   184     val thy = lthy
   185       |> Class.prove_instantiation_exit
   185       |> Class.prove_instantiation_exit
   186           (fn ctxt => resolve_tac ctxt [@{thm typedef_po} OF [type_definition, below_def]] 1)
   186           (fn ctxt => resolve_tac ctxt [@{thm typedef_po_class} OF [type_definition, below_def]] 1)
   187   in ((info, below_def), thy) end
   187   in ((info, below_def), thy) end
   188 
   188 
   189 fun prepare_cpodef
   189 fun prepare_cpodef
   190       (prep_term: Proof.context -> 'a -> term)
   190       (prep_term: Proof.context -> 'a -> term)
   191       (typ: binding * (string * sort) list * mixfix)
   191       (typ: binding * (string * sort) list * mixfix)