equal
deleted
inserted
replaced
246 bind_thm ("ssubst", sym RS subst); |
246 bind_thm ("ssubst", sym RS subst); |
247 |
247 |
248 (*Apply an equality or definition ONCE. |
248 (*Apply an equality or definition ONCE. |
249 Fails unless the substitution has an effect*) |
249 Fails unless the substitution has an effect*) |
250 fun stac th = |
250 fun stac th = |
251 let val th' = th RS meta_eq_to_obj_eq handle _ => th |
251 let val th' = th RS meta_eq_to_obj_eq handle THM _ => th |
252 in CHANGED_GOAL (rtac (th' RS ssubst)) |
252 in CHANGED_GOAL (rtac (th' RS ssubst)) |
253 end; |
253 end; |
254 |
254 |
255 (*A special case of ex1E that would otherwise need quantifier expansion*) |
255 (*A special case of ex1E that would otherwise need quantifier expansion*) |
256 qed_goal "ex1_equalsE" IFOL.thy |
256 qed_goal "ex1_equalsE" IFOL.thy |