src/HOL/HOLCF/Tools/Domain/domain_isomorphism.ML
changeset 54895 515630483010
parent 54742 7a86358a3c0b
child 56243 2e10a36b8d46
equal deleted inserted replaced
54894:cb9d981fa9a0 54895:515630483010
   156 
   156 
   157     (* prove applied version of definitions *)
   157     (* prove applied version of definitions *)
   158     fun prove_proj (lhs, rhs) =
   158     fun prove_proj (lhs, rhs) =
   159       let
   159       let
   160         fun tac ctxt = rewrite_goals_tac ctxt fixdef_thms THEN
   160         fun tac ctxt = rewrite_goals_tac ctxt fixdef_thms THEN
   161           (simp_tac (Simplifier.global_context thy beta_ss)) 1
   161           (simp_tac (put_simpset beta_ss ctxt)) 1
   162         val goal = Logic.mk_equals (lhs, rhs)
   162         val goal = Logic.mk_equals (lhs, rhs)
   163       in Goal.prove_global thy [] [] goal (tac o #context) end
   163       in Goal.prove_global thy [] [] goal (tac o #context) end
   164     val proj_thms = map prove_proj projs
   164     val proj_thms = map prove_proj projs
   165 
   165 
   166     (* mk_tuple lhss == fixpoint *)
   166     (* mk_tuple lhss == fixpoint *)