equal
deleted
inserted
replaced
221 |
221 |
222 (*Substitutes for Free or Bound variables, |
222 (*Substitutes for Free or Bound variables, |
223 discarding equalities on Bound variables |
223 discarding equalities on Bound variables |
224 and on Free variables if thin=true*) |
224 and on Free variables if thin=true*) |
225 fun hyp_subst_tac_thin thin ctxt = |
225 fun hyp_subst_tac_thin thin ctxt = |
226 REPEAT_DETERM1 o FIRST' [ematch_tac [Data.thin_refl], |
226 REPEAT_DETERM1 o FIRST' [ematch_tac ctxt [Data.thin_refl], |
227 gen_hyp_subst_tac ctxt false, vars_gen_hyp_subst_tac ctxt false, |
227 gen_hyp_subst_tac ctxt false, vars_gen_hyp_subst_tac ctxt false, |
228 if thin then thin_free_eq_tac else K no_tac]; |
228 if thin then thin_free_eq_tac else K no_tac]; |
229 |
229 |
230 val hyp_subst_thin = Attrib.setup_config_bool @{binding hypsubst_thin} (K false); |
230 val hyp_subst_thin = Attrib.setup_config_bool @{binding hypsubst_thin} (K false); |
231 |
231 |