diff -r f3075fc4f5f6 -r 7d8b53e80ce7 src/HOL/Prolog/prolog.ML --- a/src/HOL/Prolog/prolog.ML Mon May 20 17:14:39 2013 +0200 +++ b/src/HOL/Prolog/prolog.ML Mon May 20 18:37:35 2013 +0200 @@ -65,7 +65,8 @@ @{thm all_conj_distrib}, (* "(! x. P x & Q x) = ((! x. P x) & (! x. Q x))" *) @{thm imp_conjL} RS sym, (* "(D :- G1 :- G2) = (D :- G1 & G2)" *) @{thm imp_conjR}, (* "(D1 & D2 :- G) = ((D1 :- G) & (D2 :- G))" *) - @{thm imp_all}]; (* "((!x. D) :- G) = (!x. D :- G)" *) + @{thm imp_all}] (* "((!x. D) :- G) = (!x. D :- G)" *) + |> simpset_of; (*val hyp_resolve_tac = Subgoal.FOCUS_PREMS (fn {prems, ...} => @@ -114,7 +115,7 @@ rtac allI, (* "(!!x. P x) ==> ! x. P x" *) rtac exI, (* "P x ==> ? x. P x" *) rtac impI THEN' (* "(P ==> Q) ==> P --> Q" *) - asm_full_simp_tac atomize_ss THEN' (* atomize the asms *) + asm_full_simp_tac (put_simpset atomize_ss ctxt) THEN' (* atomize the asms *) (REPEAT_DETERM o (etac conjE)) (* split the asms *) ]) ORELSE' resolve_tac [disjI1,disjI2] (* "P ==> P | Q","Q ==> P | Q"*)