src/HOL/HOLCF/Tools/Domain/domain_isomorphism.ML
changeset 58957 c9e744ea8a38
parent 58936 7fbe4436952d
child 59498 50b60f501b05
equal deleted inserted replaced
58956:a816aa3ff391 58957:c9e744ea8a38
   149 
   149 
   150     val cont_thm =
   150     val cont_thm =
   151       let
   151       let
   152         val prop = mk_trp (mk_cont functional)
   152         val prop = mk_trp (mk_cont functional)
   153         val rules = Named_Theorems.get (Proof_Context.init_global thy) @{named_theorems cont2cont}
   153         val rules = Named_Theorems.get (Proof_Context.init_global thy) @{named_theorems cont2cont}
   154         val tac = REPEAT_ALL_NEW (match_tac (rev rules)) 1
   154         fun tac ctxt = REPEAT_ALL_NEW (match_tac ctxt (rev rules)) 1
   155       in
   155       in
   156         Goal.prove_global thy [] [] prop (K tac)
   156         Goal.prove_global thy [] [] prop (tac o #context)
   157       end
   157       end
   158 
   158 
   159     val tuple_unfold_thm =
   159     val tuple_unfold_thm =
   160       (@{thm def_cont_fix_eq} OF [tuple_fixdef_thm, cont_thm])
   160       (@{thm def_cont_fix_eq} OF [tuple_fixdef_thm, cont_thm])
   161       |> Local_Defs.unfold (Proof_Context.init_global thy) @{thms split_conv}
   161       |> Local_Defs.unfold (Proof_Context.init_global thy) @{thms split_conv}