# HG changeset patch # User wenzelm # Date 1322496341 -3600 # Node ID 09539cdffcd7aed65a103c11f94d23ba56d45d73 # Parent c2c647a4c237e583a7d20ebcbc6cee0c9a349116 avoid stepping outside of context -- plain zero_var_indexes should be sufficient; diff -r c2c647a4c237 -r 09539cdffcd7 src/FOL/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 <->"); diff -r c2c647a4c237 -r 09539cdffcd7 src/Provers/hypsubst.ML --- 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 #> diff -r c2c647a4c237 -r 09539cdffcd7 src/Provers/typedsimp.ML --- 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) *) diff -r c2c647a4c237 -r 09539cdffcd7 src/Sequents/simpdata.ML --- 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 <->");