simplify fixrec continuity tactic
authorhuffman
Sat, 22 May 2010 17:57:16 -0700
changeset 37096 7b74b4a734fd
parent 37087 dd47971b9875
child 37097 476016cbf8b3
simplify fixrec continuity tactic
src/HOLCF/Tools/fixrec.ML
--- a/src/HOLCF/Tools/fixrec.ML	Sat May 22 17:44:12 2010 -0700
+++ b/src/HOLCF/Tools/fixrec.ML	Sat May 22 17:57:16 2010 -0700
@@ -127,16 +127,15 @@
     val cont_thm =
       let
         val prop = mk_trp (mk_cont functional);
-        fun err () = error (
+        fun err _ = error (
           "Continuity proof failed; please check that cont2cont rules\n" ^
           "are configured for all non-HOLCF constants.\n" ^
           "The error occurred for the goal statement:\n" ^
           Syntax.string_of_term lthy prop);
-        fun check th = case Thm.nprems_of th of 0 => all_tac th | n => err ();
         val rules = Cont2ContData.get lthy;
         val fast_tac = SOLVED' (REPEAT_ALL_NEW (match_tac rules));
-        val slow_tac = simp_tac (simpset_of lthy);
-        val tac = (fast_tac 1 ORELSE slow_tac 1) THEN check;
+        val slow_tac = SOLVED' (simp_tac (simpset_of lthy));
+        val tac = fast_tac 1 ORELSE slow_tac 1 ORELSE err;
       in
         Goal.prove lthy [] [] prop (K tac)
       end;