diff -r 1694bad18568 -r a816aa3ff391 src/HOL/ex/SVC_Oracle.thy --- a/src/HOL/ex/SVC_Oracle.thy Sun Nov 09 11:05:20 2014 +0100 +++ b/src/HOL/ex/SVC_Oracle.thy Sun Nov 09 14:08:00 2014 +0100 @@ -109,13 +109,15 @@ abstracted. Use via compose_tac, which performs no lifting but will instantiate variables.*) -val svc_tac = CSUBGOAL (fn (ct, i) => +fun svc_tac ctxt = CSUBGOAL (fn (ct, i) => let val thy = Thm.theory_of_cterm ct; val (abs_goal, _) = svc_abstract (Thm.term_of ct); val th = svc_oracle (Thm.cterm_of thy abs_goal); - in compose_tac (false, th, 0) i end + in compose_tac ctxt (false, th, 0) i end handle TERM _ => no_tac); *} +method_setup svc = {* Scan.succeed (SIMPLE_METHOD' o svc_tac) *} + end