tuned impose_hyps;
authorwenzelm
Wed, 07 Nov 2001 18:17:45 +0100
changeset 12092 d1896409ff13
parent 12091 08b4da78d1ad
child 12093 1b890f1e0b4d
tuned impose_hyps;
src/Pure/drule.ML
--- a/src/Pure/drule.ML	Wed Nov 07 18:17:16 2001 +0100
+++ b/src/Pure/drule.ML	Wed Nov 07 18:17:45 2001 +0100
@@ -330,7 +330,8 @@
 
 (* maps |- B to A1,...,An |- B *)
 fun impose_hyps chyps th =
-  implies_elim_list (implies_intr_list chyps th) (map Thm.assume chyps);
+  let val chyps' = gen_rems (op aconv o apfst Thm.term_of) (chyps, #hyps (Thm.rep_thm th))
+  in implies_elim_list (implies_intr_list chyps' th) (map Thm.assume chyps') end;
 
 (*Reset Var indexes to zero, renaming to preserve distinctness*)
 fun zero_var_indexes th =