equal
deleted
inserted
replaced
163 end handle THM _ => no_tac | EQ_VAR => no_tac) i st |
163 end handle THM _ => no_tac | EQ_VAR => no_tac) i st |
164 in REPEAT_DETERM1 o tac end; |
164 in REPEAT_DETERM1 o tac end; |
165 |
165 |
166 end; |
166 end; |
167 |
167 |
168 val ssubst = Drule.standard (Data.sym RS Data.subst); |
168 val ssubst = Drule.export_without_context (Data.sym RS Data.subst); |
169 |
169 |
170 fun inst_subst_tac b rl = CSUBGOAL (fn (cBi, i) => |
170 fun inst_subst_tac b rl = CSUBGOAL (fn (cBi, i) => |
171 case try (Logic.strip_assums_hyp #> hd #> |
171 case try (Logic.strip_assums_hyp #> hd #> |
172 Data.dest_Trueprop #> Data.dest_eq #> pairself contract) (Thm.term_of cBi) of |
172 Data.dest_Trueprop #> Data.dest_eq #> pairself contract) (Thm.term_of cBi) of |
173 SOME (t, t') => |
173 SOME (t, t') => |