accomodate simplified Thm.lift_rule;
authorwenzelm
Fri, 28 Oct 2005 22:27:47 +0200
changeset 18023 3900037edf3d
parent 18022 c1bb6480534f
child 18024 853e8219732a
accomodate simplified Thm.lift_rule;
src/HOL/Tools/record_package.ML
src/HOLCF/adm_tac.ML
src/Provers/induct_method.ML
src/Provers/splitter.ML
--- a/src/HOL/Tools/record_package.ML	Fri Oct 28 22:27:46 2005 +0200
+++ b/src/HOL/Tools/record_package.ML	Fri Oct 28 22:27:47 2005 +0200
@@ -1234,7 +1234,7 @@
     val g = nth (prems_of st) (i - 1);
     val params = Logic.strip_params g;
     val concl = HOLogic.dest_Trueprop (Logic.strip_assums_concl g);
-    val rule' = Thm.lift_rule (st, i) rule;
+    val rule' = Thm.lift_rule (Thm.cgoal_of st i) rule;
     val (P, ys) = strip_comb (HOLogic.dest_Trueprop
       (Logic.strip_assums_concl (prop_of rule')));
     (* ca indicates if rule is a case analysis or induction rule *)
@@ -1260,7 +1260,7 @@
     val sg = sign_of_thm st;
     val g = nth (prems_of st) (i - 1);
     val params = Logic.strip_params g;
-    val exI' = Thm.lift_rule (st, i) exI;
+    val exI' = Thm.lift_rule (Thm.cgoal_of st i) exI;
     val (_$(_$x)) = Logic.strip_assums_concl (hd (prems_of exI'));
     val cx = cterm_of sg (fst (strip_comb x));
 
--- a/src/HOLCF/adm_tac.ML	Fri Oct 28 22:27:46 2005 +0200
+++ b/src/HOLCF/adm_tac.ML	Fri Oct 28 22:27:47 2005 +0200
@@ -113,7 +113,7 @@
   let val {sign, maxidx, ...} = rep_thm state;
       val j = maxidx+1;
       val parTs = map snd (rev params);
-      val rule = lift_rule (state, i) adm_subst;
+      val rule = Thm.lift_rule (Thm.cgoal_of state i) adm_subst;
       val types = valOf o (fst (types_sorts rule));
       val tT = types ("t", j);
       val PT = types ("P", j);
--- a/src/Provers/induct_method.ML	Fri Oct 28 22:27:46 2005 +0200
+++ b/src/Provers/induct_method.ML	Fri Oct 28 22:27:47 2005 +0200
@@ -157,7 +157,7 @@
   Tactic.rewrite_goal_tac Data.rulify2 THEN'
   Tactic.norm_hhf_tac;
 
-val localize = Goal.norm_hhf_rule o Tactic.simplify false Data.localize;
+val localize = Goal.norm_hhf o Tactic.simplify false Data.localize;
 
 
 (* imp_intr --- limited to atomic prems *)
@@ -168,8 +168,7 @@
     val cprems = Drule.cprems_of th;
     val As = Library.take (length cprems - 1, cprems);
     val C = Thm.cterm_of (Thm.sign_of_thm th) (Var (("C", #maxidx (Thm.rep_thm th) + 1), propT));
-    val dummy_st = Goal.init (Drule.list_implies (As, C));
-  in th COMP Thm.lift_rule (dummy_st, 1) Data.local_impI end;
+  in th COMP Thm.lift_rule (Drule.list_implies (As, C)) Data.local_impI end;
 
 
 (* join multi-rules *)
--- a/src/Provers/splitter.ML	Fri Oct 28 22:27:46 2005 +0200
+++ b/src/Provers/splitter.ML	Fri Oct 28 22:27:47 2005 +0200
@@ -302,7 +302,7 @@
 
 fun inst_split Ts t tt thm TB state i =
   let
-    val thm' = Thm.lift_rule (state, i) thm;
+    val thm' = Thm.lift_rule (Thm.cgoal_of state i) thm;
     val (P, _) = strip_comb (fst (Logic.dest_equals
       (Logic.strip_assums_concl (#prop (rep_thm thm')))));
     val cert = cterm_of (sign_of_thm state);