ProgTutorial/Package/Ind_Code.thy
changeset 294 ee9d53fbb56b
parent 256 1fb8d62c88a0
child 295 24c68350d059
--- 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