src/FOL/IFOL.ML
changeset 6966 cfa87aef9ccd
parent 6113 b321f5aaa5f4
child 7355 4c43090659ca
equal deleted inserted replaced
6965:a766de752996 6966:cfa87aef9ccd
   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