
diff -r 0a567f923b42 -r ee9d53fbb56b ProgTutorial/Package/Ind_Code.thy
--- a/ProgTutorial/Package/Ind_Code.thy	Tue Jul 28 12:11:33 2009 +0200
+++ b/ProgTutorial/Package/Ind_Code.thy	Thu Jul 30 11:38:52 2009 +0200
@@ -633,7 +633,7 @@
 ML{*fun chop_test_tac preds rules =
   SUBPROOF_test (fn {params, prems, context, ...} =>
   let
-    val (params1, params2) = chop (length params - length preds) params
+    val (params1, params2) = chop (length params - length preds) (map snd params)
     val (prems1, prems2) = chop (length prems - length rules) prems
   in
     chop_print params1 params2 prems1 prems2 context; no_tac
@@ -698,7 +698,7 @@
 ML %linenosgray{*fun apply_prem_tac i preds rules =
   SUBPROOF_test (fn {params, prems, context, ...} =>
   let
-    val (params1, params2) = chop (length params - length preds) params
+    val (params1, params2) = chop (length params - length preds) (map snd params)
     val (prems1, prems2) = chop (length prems - length rules) prems
   in
     rtac (ObjectLogic.rulify (all_elims params1 (nth prems2 i))) 1
@@ -773,7 +773,7 @@
 ML{*fun prove_intro_tac i preds rules =
   SUBPROOF (fn {params, prems, ...} =>
   let
-    val (params1, params2) = chop (length params - length preds) params
+    val (params1, params2) = chop (length params - length preds) (map snd params)
     val (prems1, prems2) = chop (length prems - length rules) prems
   in
     rtac (ObjectLogic.rulify (all_elims params1 (nth prems2 i))) 1
@@ -868,7 +868,7 @@
 ML %linenosgray{*fun prove_intro_tac i preds rules =
   SUBPROOF (fn {params, prems, context, ...} =>
   let
-    val (params1, params2) = chop (length params - length preds) params
+    val (params1, params2) = chop (length params - length preds) (map snd params)
     val (prems1, prems2) = chop (length prems - length rules) prems
   in
     rtac (ObjectLogic.rulify (all_elims params1 (nth prems2 i))) 1




