avoid stepping outside of context -- plain zero_var_indexes should be sufficient;
authorwenzelm
Mon, 28 Nov 2011 17:05:41 +0100
changeset 45659 09539cdffcd7
parent 45658 c2c647a4c237
child 45660 1d168d6c55c2
avoid stepping outside of context -- plain zero_var_indexes should be sufficient;
src/FOL/simpdata.ML
src/Provers/hypsubst.ML
src/Provers/typedsimp.ML
src/Sequents/simpdata.ML
--- a/src/FOL/simpdata.ML	Mon Nov 28 12:13:27 2011 +0100
+++ b/src/FOL/simpdata.ML	Mon Nov 28 17:05:41 2011 +0100
@@ -27,7 +27,7 @@
 
 (*Congruence rules for = or <-> (instead of ==)*)
 fun mk_meta_cong ss rl =
-  Drule.export_without_context (mk_meta_eq (mk_meta_prems (Simplifier.the_context ss) rl))
+  Drule.zero_var_indexes (mk_meta_eq (mk_meta_prems (Simplifier.the_context ss) rl))
     handle THM _ =>
       error("Premises and conclusion of congruence rules must use =-equality or <->");
 
--- a/src/Provers/hypsubst.ML	Mon Nov 28 12:13:27 2011 +0100
+++ b/src/Provers/hypsubst.ML	Mon Nov 28 17:05:41 2011 +0100
@@ -139,7 +139,7 @@
 
 end;
 
-val ssubst = Drule.export_without_context (Data.sym RS Data.subst);
+val ssubst = Drule.zero_var_indexes (Data.sym RS Data.subst);
 
 fun inst_subst_tac b rl = CSUBGOAL (fn (cBi, i) =>
   case try (Logic.strip_assums_hyp #> hd #>
--- a/src/Provers/typedsimp.ML	Mon Nov 28 12:13:27 2011 +0100
+++ b/src/Provers/typedsimp.ML	Mon Nov 28 17:05:41 2011 +0100
@@ -43,11 +43,11 @@
 (*For simplifying both sides of an equation:
       [| a=c; b=c |] ==> b=a
   Can use resolve_tac [split_eqn] to prepare an equation for simplification. *)
-val split_eqn = Drule.export_without_context (sym RSN (2,trans) RS sym);
+val split_eqn = Drule.zero_var_indexes (sym RSN (2,trans) RS sym);
 
 
 (*    [| a=b; b=c |] ==> reduce(a,c)  *)
-val red_trans = Drule.export_without_context (trans RS red_if_equal);
+val red_trans = Drule.zero_var_indexes (trans RS red_if_equal);
 
 (*For REWRITE rule: Make a reduction rule for simplification, e.g.
   [| a: C(0); ... ; a=c: C(0) |] ==> rec(0,a,b) = c: C(0) *)
--- a/src/Sequents/simpdata.ML	Mon Nov 28 12:13:27 2011 +0100
+++ b/src/Sequents/simpdata.ML	Mon Nov 28 17:05:41 2011 +0100
@@ -48,7 +48,7 @@
 
 (*Congruence rules for = or <-> (instead of ==)*)
 fun mk_meta_cong ss rl =
-  Drule.export_without_context (mk_meta_eq (mk_meta_prems (Simplifier.the_context ss) rl))
+  Drule.zero_var_indexes (mk_meta_eq (mk_meta_prems (Simplifier.the_context ss) rl))
     handle THM _ =>
       error("Premises and conclusion of congruence rules must use =-equality or <->");