isatool expandshort;
authorwenzelm
Thu, 13 Dec 2001 15:45:03 +0100
changeset 12486 0ed8bdd883e0
parent 12485 3df60299a6d0
child 12487 bbd564190c9b
isatool expandshort;
src/HOL/Algebra/poly/Degree.ML
src/HOL/Hoare/Examples.ML
src/HOL/Hyperreal/EvenOdd.ML
src/HOL/Hyperreal/ExtraThms2.ML
src/HOL/Hyperreal/Lim.ML
src/HOL/Hyperreal/MacLaurin.ML
src/HOL/Hyperreal/NSA.ML
src/HOL/Hyperreal/NatStar.ML
src/HOL/Hyperreal/NthRoot.ML
src/HOL/Hyperreal/SEQ.ML
src/HOL/Hyperreal/Series.ML
src/HOL/Hyperreal/Star.ML
src/HOL/Hyperreal/Transcendental.ML
src/HOL/IMPP/Hoare.ML
src/HOL/Induct/Com.ML
src/HOL/Induct/SList.ML
src/HOL/Integ/Bin.ML
src/HOL/Integ/IntArith.ML
src/HOL/Integ/NatSimprocs.ML
src/HOL/Integ/int_arith2.ML
src/HOL/Lex/AutoChopper.ML
src/HOL/List.ML
src/HOL/Nat.ML
src/HOL/Prolog/Func.ML
src/HOL/Prolog/Test.ML
src/HOL/Prolog/Type.ML
src/HOL/Transitive_Closure_lemmas.ML
src/HOL/Wellfounded_Recursion.ML
src/HOL/Wellfounded_Relations.ML
src/HOL/equalities.ML
src/HOL/ex/AVL.ML
src/HOL/ex/Puzzle.ML
src/HOL/ex/Sorting.ML
--- a/src/HOL/Algebra/poly/Degree.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Algebra/poly/Degree.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -152,7 +152,7 @@
 Goal "deg (monom m::'a::domain up) = m";
 by (rtac le_anti_sym 1);
 (* <= *)
-br deg_monom_ring 1;
+by (rtac deg_monom_ring 1);
 (* >= *)
 by (asm_simp_tac 
   (simpset() addsimps [deg_belowI, less_not_refl2 RS not_sym]) 1);
--- a/src/HOL/Hoare/Examples.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hoare/Examples.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -54,11 +54,11 @@
 \ DO IF a<b THEN (b := b-a; x := x+y) ELSE (a := a-b; y := y+x) FI OD \
 \ {a = gcd A B & 2*A*B = a*(x+y)}";
 by (hoare_tac (K all_tac) 1);
-by(Asm_simp_tac 1);
-by(asm_simp_tac (simpset() addsimps
+by (Asm_simp_tac 1);
+by (asm_simp_tac (simpset() addsimps
     (distribs @ [gcd_diff_r,not_less_iff_le, gcd_diff_l])) 1);
-by(arith_tac 1);
-by(asm_full_simp_tac (simpset() addsimps (distribs @ [gcd_nnn])) 1);
+by (arith_tac 1);
+by (asm_full_simp_tac (simpset() addsimps (distribs @ [gcd_nnn])) 1);
 qed "gcd_scm";
 
 (** Power by iterated squaring and multiplication **)
--- a/src/HOL/Hyperreal/EvenOdd.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/EvenOdd.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -113,7 +113,7 @@
 Addsimps [div_add_self_two_is_m];
 
 Goal "((m + m) + 2) div 2 = Suc m";
-by (rtac (div_add_self2 RS ssubst) 1);
+by (stac div_add_self2 1);
 by (Auto_tac);
 qed "div_add_self_two";
 
@@ -187,7 +187,7 @@
 Addsimps [mod_two_Suc_2m];
 
 Goal "(Suc (Suc (2 * m)) div 2) = Suc m";
-by (rtac (div_if RS ssubst) 1 THEN Auto_tac);
+by (stac div_if 1 THEN Auto_tac);
 qed "div_two_Suc_Suc_2m";
 Addsimps [div_two_Suc_Suc_2m];
 
@@ -239,14 +239,14 @@
 
 Goal "even n ==> (n + 1) div 2 = n div 2";
 by (rtac (CLAIM "2 * x = 2 * y ==> x = (y::nat)") 1);
-by (rtac (lemma_even_div RS ssubst) 1);
+by (stac lemma_even_div 1);
 by (auto_tac (claset(),simpset() addsimps [even_mult_two_ex]));
 qed "lemma_even_div2";
 Addsimps [lemma_even_div2];
 
 Goal "~even n ==> (n + 1) div 2 = Suc (n div 2)";
 by (rtac (CLAIM "2 * x = 2 * y ==> x = (y::nat)") 1);
-by (rtac (lemma_not_even_div RS ssubst) 1);
+by (stac lemma_not_even_div 1);
 by (auto_tac (claset(),simpset() addsimps [even_not_odd,
     odd_Suc_mult_two_ex])); 
 by (cut_inst_tac [("m","Suc(2*m)"),("n","2")] mod_div_equality 1); 
--- a/src/HOL/Hyperreal/ExtraThms2.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/ExtraThms2.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -220,7 +220,7 @@
 
 Goal "(real (n::nat) <= 0) = (n = 0)";
 by (rtac ((real_of_nat_zero) RS subst) 1);
-by (rtac (real_of_nat_le_iff RS ssubst) 1);
+by (stac real_of_nat_le_iff 1);
 by Auto_tac;
 qed "real_of_nat_le_zero_cancel_iff";
 Addsimps [real_of_nat_le_zero_cancel_iff];
--- a/src/HOL/Hyperreal/Lim.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/Lim.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -1315,7 +1315,7 @@
 Goalw [nsderiv_def]
      "x \\<noteq> 0 ==> NSDERIV (%x. inverse(x)) x :> (- (inverse x ^ Suc (Suc 0)))";
 by (rtac ballI 1 THEN Asm_full_simp_tac 1 THEN Step_tac 1);
-by (forward_tac [Infinitesimal_add_not_zero] 1);
+by (ftac Infinitesimal_add_not_zero 1);
 by (asm_full_simp_tac (simpset() addsimps [hypreal_add_commute]) 2); 
 by (auto_tac (claset(),
      simpset() addsimps [starfun_inverse_inverse, realpow_two] 
--- a/src/HOL/Hyperreal/MacLaurin.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/MacLaurin.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -63,8 +63,8 @@
 by (asm_simp_tac (HOL_ss addsimps 
     [CLAIM "(a::real) * (b * (c * d)) = (d * a) * (b * c)"]
      delsimps [realpow_Suc]) 2);
-by (rtac (real_mult_inv_left RS ssubst) 2);
-by (rtac (real_mult_inv_left RS ssubst) 3);
+by (stac real_mult_inv_left 2);
+by (stac real_mult_inv_left 3);
 by (dtac (realpow_gt_zero RS real_not_refl2 RS not_sym) 2);
 by (assume_tac 2);
 by (rtac real_of_nat_fact_not_zero 2);
@@ -124,8 +124,8 @@
 by (rtac DERIV_cmult 2);
 by (rtac lemma_DERIV_subst 2);
 by DERIV_tac;
-by (rtac (fact_Suc RS ssubst) 2);
-by (rtac (real_of_nat_mult RS ssubst) 2);
+by (stac fact_Suc 2);
+by (stac real_of_nat_mult 2);
 by (simp_tac (simpset() addsimps [real_inverse_distrib] @
     real_mult_ac) 2);
 by (subgoal_tac "ALL ma. ma < n --> \
@@ -267,7 +267,7 @@
                  ("h","-h"),("n","n")] Maclaurin_objl 1);
 by (Asm_full_simp_tac 1);
 by (etac impE 1 THEN Step_tac 1);
-by (rtac (real_minus_mult_eq2 RS ssubst) 1);
+by (stac real_minus_mult_eq2 1);
 by (rtac DERIV_cmult 1);
 by (rtac lemma_DERIV_subst 1);
 by (rtac (read_instantiate [("g","uminus")] DERIV_chain2) 1);
@@ -463,7 +463,7 @@
 \                     else -cos(x)")] Maclaurin_all_le_objl 1);
 by (Step_tac 1);
 by (Asm_full_simp_tac 1);
-by (rtac (mod_Suc_eq_Suc_mod RS ssubst) 1);
+by (stac mod_Suc_eq_Suc_mod 1);
 by (cut_inst_tac [("m1","m")] (CLAIM "0 < (4::nat)" RS mod_less_divisor
     RS lemma_exhaust_less_4) 1);
 by (Step_tac 1);
@@ -479,7 +479,7 @@
 by (rtac sumr_fun_eq 1);
 by (Step_tac 1);
 by (rtac (CLAIM "x = y ==> x * z = y * (z::real)") 1);
-by (rtac (even_even_mod_4_iff RS ssubst) 1);
+by (stac even_even_mod_4_iff 1);
 by (cut_inst_tac [("m1","r")] (CLAIM "0 < (4::nat)" RS mod_less_divisor
     RS lemma_exhaust_less_4) 1);
 by (Step_tac 1);
--- a/src/HOL/Hyperreal/NSA.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/NSA.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -144,7 +144,7 @@
 \         (EX Y. ALL X: {w. hypreal_of_real w : P}. X < Y)";
 by (rtac conjI 1);
 by (fast_tac (claset() addSDs [SReal_iff RS iffD1]) 1);
-by (Auto_tac THEN forward_tac [subsetD] 1 THEN assume_tac 1);
+by (Auto_tac THEN ftac subsetD 1 THEN assume_tac 1);
 by (dtac (SReal_iff RS iffD1) 1);
 by (Auto_tac THEN res_inst_tac [("x","ya")] exI 1);
 by Auto_tac;
@@ -201,7 +201,7 @@
 
 Goal "[| P <= Reals;  EX x. x: P;  EX Y. isUb Reals P Y |] \
 \     ==> EX t::hypreal. isLub Reals P t";
-by (forward_tac [SReal_hypreal_of_real_image] 1);
+by (ftac SReal_hypreal_of_real_image 1);
 by (Auto_tac THEN dtac lemma_isUb_hypreal_of_real 1);
 by (auto_tac (claset() addSIs [reals_complete, lemma_isLub_hypreal_of_real2], 
      simpset() addsimps [hypreal_of_real_isLub_iff,hypreal_of_real_isUb_iff]));
@@ -327,7 +327,7 @@
 Goal "[| x : Infinitesimal; y : HFinite |] ==> (x * y) : Infinitesimal";
 by (auto_tac (claset() addSDs [HFiniteD],
               simpset() addsimps [Infinitesimal_def]));
-by (forward_tac [hrabs_less_gt_zero] 1);
+by (ftac hrabs_less_gt_zero 1);
 by (dres_inst_tac [("x","r/t")] bspec 1); 
 by (blast_tac (claset() addIs [SReal_divide]) 1);
 by (asm_full_simp_tac (simpset() addsimps [hypreal_0_less_divide_iff]) 1); 
@@ -347,7 +347,7 @@
      "x: HInfinite ==> inverse x: Infinitesimal";
 by Auto_tac;
 by (eres_inst_tac [("x","inverse r")] ballE 1);
-by (rtac (hrabs_inverse RS ssubst) 1);
+by (stac hrabs_inverse 1);
 by (forw_inst_tac [("x1","r"),("z","abs x")] 
     (hypreal_inverse_gt_0 RS order_less_trans) 1);
 by (assume_tac 1);
@@ -600,8 +600,8 @@
 
 val prem1::prem2::rest = 
 goalw thy [approx_def] "[| a @= b; c @= d |] ==> a+c @= b+d";
-by (rtac (hypreal_minus_add_distrib RS ssubst) 1);
-by (rtac (hypreal_add_assoc RS ssubst) 1);
+by (stac hypreal_minus_add_distrib 1);
+by (stac hypreal_add_assoc 1);
 by (res_inst_tac [("y1","c")] (hypreal_add_left_commute RS subst) 1);
 by (rtac (hypreal_add_assoc RS subst) 1);
 by (rtac ([prem1,prem2] MRS Infinitesimal_add) 1);
@@ -919,7 +919,7 @@
 
 Goal "[|x: Reals; y: Reals|] ==> (x @= y) = (x = y)"; 
 by Auto_tac;
-by (rewrite_goals_tac [approx_def]);
+by (rewtac approx_def);
 by (dres_inst_tac [("x","y")] SReal_minus 1);
 by (dtac SReal_add 1 THEN assume_tac 1);
 by (dtac SReal_Infinitesimal_zero 1 THEN assume_tac 1);
@@ -984,7 +984,7 @@
  ------------------------------------------------------------------*)
 (* lemma about lubs *)
 Goal "!!(x::hypreal). [| isLub R S x; isLub R S y |] ==> x = y";
-by (forward_tac [isLub_isUb] 1);
+by (ftac isLub_isUb 1);
 by (forw_inst_tac [("x","y")] isLub_isUb 1);
 by (blast_tac (claset() addSIs [hypreal_le_anti_sym]
                 addSDs [isLub_le_isUb]) 1);
@@ -1022,7 +1022,7 @@
 
 Goal "[| x: HFinite;  isLub Reals {s. s: Reals & s < x} t; \
 \        r: Reals;  0 < r |] ==> x <= t + r";
-by (forward_tac [isLubD1a] 1);
+by (ftac isLubD1a 1);
 by (rtac ccontr 1 THEN dtac (linorder_not_le RS iffD2) 1);
 by (dres_inst_tac [("x","t")] SReal_add 1 THEN assume_tac 1);
 by (dres_inst_tac [("y","t + r")] (isLubD1 RS setleD) 1);
@@ -1055,7 +1055,7 @@
 \        isLub Reals {s. s: Reals & s < x} t; \
 \        r: Reals; 0 < r |] \
 \     ==> t + -r <= x";
-by (forward_tac [isLubD1a] 1);
+by (ftac isLubD1a 1);
 by (rtac ccontr 1 THEN dtac not_hypreal_leE 1);
 by (dtac SReal_minus 1 THEN dres_inst_tac [("x","t")] 
     SReal_add 1 THEN assume_tac 1);
@@ -1095,7 +1095,7 @@
 
 Goal "(x::hypreal): Reals ==> isLub Reals {s. s: Reals & s < x} x";
 by (auto_tac (claset() addSIs [isLubI2,lemma_SReal_ub,setgeI], simpset()));
-by (forward_tac [isUbD2a] 1);
+by (ftac isUbD2a 1);
 by (res_inst_tac [("x","x"),("y","y")] hypreal_linear_less2 1);
 by (auto_tac (claset() addSIs [order_less_imp_le], simpset()));
 by (EVERY1[dtac SReal_dense, assume_tac, assume_tac, Step_tac]);
@@ -1120,7 +1120,7 @@
 \        r: Reals; 0 < r |] \
 \     ==> -(x + -t) ~= r";
 by (auto_tac (claset(), simpset() addsimps [hypreal_minus_add_distrib]));
-by (forward_tac [isLubD1a] 1);
+by (ftac isLubD1a 1);
 by (dtac SReal_add_cancel 1 THEN assume_tac 1);
 by (dres_inst_tac [("x","-x")] SReal_minus 1);
 by (Asm_full_simp_tac 1);
@@ -1133,8 +1133,8 @@
 \        isLub Reals {s. s: Reals & s < x} t; \
 \        r: Reals; 0 < r |] \
 \     ==> abs (x + -t) < r";
-by (forward_tac [lemma_st_part1a] 1);
-by (forward_tac [lemma_st_part2a] 4);
+by (ftac lemma_st_part1a 1);
+by (ftac lemma_st_part2a 4);
 by Auto_tac;
 by (REPEAT(dtac order_le_imp_less_or_eq 1));
 by (auto_tac (claset() addDs [lemma_st_part_not_eq1,
@@ -1152,8 +1152,8 @@
  ----------------------------------------------*)
 Goal "x: HFinite ==> \
 \     EX t: Reals. ALL r: Reals. 0 < r --> abs (x + -t) < r";
-by (forward_tac [lemma_st_part_lub] 1 THEN Step_tac 1);
-by (forward_tac [isLubD1a] 1);
+by (ftac lemma_st_part_lub 1 THEN Step_tac 1);
+by (ftac isLubD1a 1);
 by (blast_tac (claset() addDs [lemma_st_part_major2]) 1);
 qed "lemma_st_part_Ex";
 
@@ -1242,9 +1242,9 @@
 
 Goal "[| x @= y; y :  HFinite - Infinitesimal |] \
 \     ==> inverse x @= inverse y";
-by (forward_tac [HFinite_diff_Infinitesimal_approx] 1);
+by (ftac HFinite_diff_Infinitesimal_approx 1);
 by (assume_tac 1);
-by (forward_tac [not_Infinitesimal_not_zero2] 1);
+by (ftac not_Infinitesimal_not_zero2 1);
 by (forw_inst_tac [("x","x")] not_Infinitesimal_not_zero2 1);
 by (REPEAT(dtac HFinite_inverse2 1));
 by (dtac approx_mult2 1 THEN assume_tac 1);
@@ -1282,8 +1282,8 @@
 
 Goal "(x : Infinitesimal) = (x*x : Infinitesimal)";
 by (auto_tac (claset() addIs [Infinitesimal_mult], simpset()));
-by (rtac ccontr 1 THEN forward_tac [Infinitesimal_inverse_HFinite] 1);
-by (forward_tac [not_Infinitesimal_not_zero] 1);
+by (rtac ccontr 1 THEN ftac Infinitesimal_inverse_HFinite 1);
+by (ftac not_Infinitesimal_not_zero 1);
 by (auto_tac (claset() addDs [Infinitesimal_HFinite_mult],
     simpset() addsimps [hypreal_mult_assoc]));
 qed "Infinitesimal_square_iff";
@@ -1431,14 +1431,14 @@
 qed "lemma_approx_less_zero";
 
 Goal "[| x @= y; x < 0; x ~: Infinitesimal |] ==> abs x @= abs y";
-by (forward_tac [lemma_approx_less_zero] 1);
+by (ftac lemma_approx_less_zero 1);
 by (REPEAT(assume_tac 1));
 by (REPEAT(dtac hrabs_minus_eqI2 1));
 by Auto_tac;
 qed "approx_hrabs1";
 
 Goal "[| x @= y; 0 < x; x ~: Infinitesimal |] ==> abs x @= abs y";
-by (forward_tac [lemma_approx_gt_zero] 1);
+by (ftac lemma_approx_gt_zero 1);
 by (REPEAT(assume_tac 1));
 by (REPEAT(dtac hrabs_eqI2 1));
 by Auto_tac;
@@ -1646,13 +1646,13 @@
  ------------------------------------------------------------------*)
 
 Goalw [st_def] "x: HFinite ==> st x @= x";
-by (forward_tac [st_part_Ex] 1 THEN Step_tac 1);
+by (ftac st_part_Ex 1 THEN Step_tac 1);
 by (rtac someI2 1);
 by (auto_tac (claset() addIs [approx_sym], simpset()));
 qed "st_approx_self";
 
 Goalw [st_def] "x: HFinite ==> st x: Reals";
-by (forward_tac [st_part_Ex] 1 THEN Step_tac 1);
+by (ftac st_part_Ex 1 THEN Step_tac 1);
 by (rtac someI2 1);
 by (auto_tac (claset() addIs [approx_sym], simpset()));
 qed "st_SReal";
@@ -1678,7 +1678,7 @@
 qed "st_eq_approx";
 
 Goal "[| x: HFinite; y: HFinite; x @= y |] ==> st x = st y";
-by (EVERY1 [forward_tac [st_approx_self],
+by (EVERY1 [ftac st_approx_self ,
     forw_inst_tac [("x","y")] st_approx_self,
     dtac st_SReal,dtac st_SReal]);
 by (fast_tac (claset() addEs [approx_trans,
@@ -1716,7 +1716,7 @@
 qed "HFinite_st_Infinitesimal_add";
 
 Goal "[| x: HFinite; y: HFinite |] ==> st (x + y) = st(x) + st(y)";
-by (forward_tac [HFinite_st_Infinitesimal_add] 1);
+by (ftac HFinite_st_Infinitesimal_add 1);
 by (forw_inst_tac [("x","y")] HFinite_st_Infinitesimal_add 1);
 by (Step_tac 1);
 by (subgoal_tac "st (x + y) = st ((st x + e) + (st y + ea))" 1);
@@ -1768,7 +1768,7 @@
 
 Goal "[| x: HFinite; y: HFinite |] \
 \              ==> st (x * y) = st(x) * st(y)";
-by (forward_tac [HFinite_st_Infinitesimal_add] 1);
+by (ftac HFinite_st_Infinitesimal_add 1);
 by (forw_inst_tac [("x","y")] HFinite_st_Infinitesimal_add 1);
 by (Step_tac 1);
 by (subgoal_tac "st (x * y) = st ((st x + e) * (st y + ea))" 1);
@@ -1841,9 +1841,9 @@
 qed "Infinitesimal_add_st_le_cancel";
 
 Goal "[| x: HFinite; y: HFinite; x <= y |] ==> st(x) <= st(y)";
-by (forward_tac [HFinite_st_Infinitesimal_add] 1);
+by (ftac HFinite_st_Infinitesimal_add 1);
 by (rotate_tac 1 1);
-by (forward_tac [HFinite_st_Infinitesimal_add] 1);
+by (ftac HFinite_st_Infinitesimal_add 1);
 by (Step_tac 1);
 by (rtac Infinitesimal_add_st_le_cancel 1);
 by (res_inst_tac [("x","ea"),("y","e")] 
@@ -2303,7 +2303,7 @@
 
 Goal "ALL n. abs(X n + -x) < inverse(real(Suc n)) \ 
 \     ==> Abs_hypreal(hyprel``{X}) @= hypreal_of_real x";
-by (rtac (approx_minus_iff RS ssubst) 1);
+by (stac approx_minus_iff 1);
 by (rtac (mem_infmal_iff RS subst) 1);
 by (etac real_seq_to_hypreal_Infinitesimal 1);
 qed "real_seq_to_hypreal_approx";
--- a/src/HOL/Hyperreal/NatStar.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/NatStar.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -189,7 +189,7 @@
 
 Goalw [congruent_def] 
       "congruent hypnatrel (%X. hypnatrel``{%n. f (X n)})";
-by (safe_tac (claset()));
+by Safe_tac;
 by (ALLGOALS(Fuf_tac));
 qed "starfunNat_congruent";
 
@@ -414,7 +414,7 @@
  ---------------------------------------------------------*)
 Goalw [congruent_def] 
       "congruent hypnatrel (%X. hypnatrel``{%n. f n (X n)})";
-by (safe_tac (claset()));
+by Safe_tac;
 by (ALLGOALS(Fuf_tac));
 qed "starfunNat_n_congruent";
 
--- a/src/HOL/Hyperreal/NthRoot.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/NthRoot.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -70,7 +70,7 @@
 Goal "[| isLub (UNIV::real set) {x. x ^ n <= a & (0::real) < x} u; \
 \        0 < a; 0 < n |] ==> ALL k. a <= (u + inverse(real_of_posnat k)) ^ n";
 by (Step_tac 1);
-by (forward_tac [lemma_nth_realpow_seq] 1 THEN Step_tac 1);
+by (ftac lemma_nth_realpow_seq 1 THEN Step_tac 1);
 by (auto_tac (claset() addEs [real_less_asym],
     simpset() addsimps [real_le_def]));
 by (fold_tac [real_le_def]);
@@ -85,7 +85,7 @@
 Goal "[| (0::real) < a; 0 < n; \
 \    isLub (UNIV::real set) \
 \    {x. x ^ n <= a & 0 < x} u |] ==> a <= u ^ n";
-by (forward_tac [lemma_nth_realpow_isLub_ge] 1 THEN Step_tac 1);
+by (ftac lemma_nth_realpow_isLub_ge 1 THEN Step_tac 1);
 by (rtac (LIMSEQ_inverse_real_of_posnat_add RS LIMSEQ_pow 
     RS LIMSEQ_le_const) 1);
 by (auto_tac (claset(),simpset() addsimps [real_of_nat_def,
@@ -133,7 +133,7 @@
 Goal "[| (0::real) < a; 0 < n; \
 \    isLub (UNIV::real set) \
 \    {x. x ^ n <= a & 0 < x} u |] ==> u ^ n <= a";
-by (forward_tac [lemma_nth_realpow_isLub_le] 1 THEN Step_tac 1);
+by (ftac lemma_nth_realpow_isLub_le 1 THEN Step_tac 1);
 by (rtac (LIMSEQ_inverse_real_of_posnat_add_minus_mult RS LIMSEQ_pow 
     RS LIMSEQ_le_const2) 1);
 by (auto_tac (claset(),simpset() addsimps [real_of_nat_def,real_of_posnat_Suc]));
@@ -141,14 +141,14 @@
 
 (*----------- The theorem at last! -----------*)
 Goal "[| (0::real) < a; 0 < n |] ==> EX r. r ^ n = a";
-by (forward_tac [nth_realpow_isLub_ex] 1 THEN Auto_tac);
+by (ftac nth_realpow_isLub_ex 1 THEN Auto_tac);
 by (auto_tac (claset() addIs [realpow_nth_le,
     realpow_nth_ge,real_le_anti_sym],simpset()));
 qed "realpow_nth";
 
 (* positive only *)
 Goal "[| (0::real) < a; 0 < n |] ==> EX r. 0 < r & r ^ n = a";
-by (forward_tac [nth_realpow_isLub_ex] 1 THEN Auto_tac);
+by (ftac nth_realpow_isLub_ex 1 THEN Auto_tac);
 by (auto_tac (claset() addIs [realpow_nth_le,
     realpow_nth_ge,real_le_anti_sym,
     lemma_nth_realpow_isLub_gt_zero],simpset()));
--- a/src/HOL/Hyperreal/SEQ.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/SEQ.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -671,7 +671,7 @@
 Goalw [convergent_def] 
      "[| Bseq X; ALL m n. m <= n --> X m <= X n |] \
 \                ==> convergent X";
-by (forward_tac [Bseq_isLub] 1);
+by (ftac Bseq_isLub 1);
 by (Step_tac 1);
 by (case_tac "EX m. X m = U" 1 THEN Auto_tac);
 by (blast_tac (claset() addDs [lemma_converg1,
@@ -679,7 +679,7 @@
 (* second case *)
 by (res_inst_tac [("x","U")] exI 1);
 by (stac LIMSEQ_iff 1 THEN Step_tac 1);
-by (forward_tac [lemma_converg2] 1 THEN assume_tac 1);
+by (ftac lemma_converg2 1 THEN assume_tac 1);
 by (dtac lemma_converg4 1 THEN Auto_tac);
 by (res_inst_tac [("x","m")] exI 1 THEN Step_tac 1);
 by (subgoal_tac "X m <= X n" 1 THEN Fast_tac 2);
@@ -711,7 +711,7 @@
  -------------------------------*)
 Goalw [monoseq_def] "[| Bseq X; monoseq X |] ==> convergent X";
 by (Step_tac 1);
-by (rtac (convergent_minus_iff RS ssubst) 2);
+by (stac convergent_minus_iff 2);
 by (dtac (Bseq_minus_iff RS ssubst) 2);
 by (auto_tac (claset() addSIs [Bseq_mono_convergent], simpset()));
 qed "Bseq_monoseq_convergent";
@@ -960,7 +960,7 @@
 Goalw [NSconvergent_def,NSLIMSEQ_def]
       "NSCauchy X = NSconvergent X";
 by (Step_tac 1);
-by (forward_tac [NSCauchy_NSBseq] 1);
+by (ftac NSCauchy_NSBseq 1);
 by (auto_tac (claset() addIs [approx_trans2], 
     simpset() addsimps 
     [NSBseq_def,NSCauchy_def]));
@@ -1124,8 +1124,8 @@
 by (dres_inst_tac [("x","inverse r")] spec 1 THEN Step_tac 1);
 by (res_inst_tac [("x","N")] exI 1 THEN Step_tac 1);
 by (dtac spec 1 THEN Auto_tac);
-by (forward_tac [real_inverse_gt_0] 1);
-by (forward_tac [order_less_trans] 1 THEN assume_tac 1);
+by (ftac real_inverse_gt_0 1);
+by (ftac order_less_trans 1 THEN assume_tac 1);
 by (forw_inst_tac [("x","f n")] real_inverse_gt_0 1);
 by (asm_simp_tac (simpset() addsimps [abs_eqI2]) 1);
 by (res_inst_tac [("t","r")] (real_inverse_inverse RS subst) 1);
@@ -1241,11 +1241,11 @@
      "[| 0 <= x; x < 1 |] ==> (%n. x ^ n) ----NS> 0";
 by (auto_tac (claset() addSDs [convergent_realpow],
               simpset() addsimps [convergent_NSconvergent_iff]));
-by (forward_tac [NSconvergentD] 1);
+by (ftac NSconvergentD 1);
 by (auto_tac (claset(),
         simpset() addsimps [NSLIMSEQ_def, NSCauchy_NSconvergent_iff RS sym,
                             NSCauchy_def, starfunNat_pow]));
-by (forward_tac [HNatInfinite_add_one] 1);
+by (ftac HNatInfinite_add_one 1);
 by (dtac bspec 1 THEN assume_tac 1);
 by (dtac bspec 1 THEN assume_tac 1);
 by (dres_inst_tac [("x","N + (1::hypnat)")] bspec 1 THEN assume_tac 1);
--- a/src/HOL/Hyperreal/Series.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/Series.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -283,7 +283,7 @@
      "(ALL m. n <= Suc m --> f(m) = 0) ==> f sums (sumr 0 n f)";
 by (Step_tac 1);
 by (res_inst_tac [("x","n")] exI 1);
-by (Step_tac 1 THEN forward_tac [le_imp_less_or_eq] 1);
+by (Step_tac 1 THEN ftac le_imp_less_or_eq 1);
 by (Step_tac 1);
 by (dres_inst_tac [("f","f")] sumr_split_add_minus 1);
 by (ALLGOALS (Asm_simp_tac));
@@ -297,7 +297,7 @@
      "(ALL m. n <= m --> f(m) = 0) ==> f sums (sumr 0 n f)";
 by (Step_tac 1);
 by (res_inst_tac [("x","n")] exI 1);
-by (Step_tac 1 THEN forward_tac [le_imp_less_or_eq] 1);
+by (Step_tac 1 THEN ftac le_imp_less_or_eq 1);
 by (Step_tac 1);
 by (dres_inst_tac [("f","f")] sumr_split_add_minus 1);
 by (ALLGOALS (Asm_simp_tac));
@@ -571,7 +571,7 @@
 
 Goal "[| c < 1; ALL n. N <= n --> abs(f(Suc n)) <= c*abs(f n) |] \
 \     ==> summable f";
-by (forward_tac [ratio_test_lemma2] 1);
+by (ftac ratio_test_lemma2 1);
 by Auto_tac;  
 by (res_inst_tac [("g","%n. (abs (f N)/(c ^ N))*c ^ n")] 
     summable_comparison_test 1);
--- a/src/HOL/Hyperreal/Star.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/Star.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -193,7 +193,7 @@
  -----------------------------------------------------------------------*) 
 
 Goalw [congruent_def] "congruent hyprel (%X. hyprel``{%n. f (X n)})";
-by (safe_tac (claset()));
+by Safe_tac;
 by (ALLGOALS(Fuf_tac));
 qed "starfun_congruent";
 
@@ -472,7 +472,7 @@
 Goal "(Abs_hypreal(hyprel``{X}) @= Abs_hypreal(hyprel``{Y})) = \
 \     (ALL m. {n. abs (X n + - Y n) < \
 \                 inverse(real(Suc m))} : FreeUltrafilterNat)";
-by (rtac (approx_minus_iff RS ssubst) 1);
+by (stac approx_minus_iff 1);
 by (rtac (mem_infmal_iff RS subst) 1);
 by (auto_tac (claset(), 
               simpset() addsimps [hypreal_minus, hypreal_add,
--- a/src/HOL/Hyperreal/Transcendental.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Hyperreal/Transcendental.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -211,7 +211,7 @@
 Goal "sqrt(x ^ 2) = abs(x)";
 by (rtac (abs_realpow_two RS subst) 1);
 by (rtac (real_sqrt_abs_abs RS subst) 1);
-by (rtac (real_pow_sqrt_eq_sqrt_pow RS ssubst) 1);
+by (stac real_pow_sqrt_eq_sqrt_pow 1);
 by (auto_tac (claset(),simpset() addsimps [numeral_2_eq_2, abs_mult,abs_ge_zero]));
 qed "real_sqrt_abs";
 Addsimps [real_sqrt_abs];
@@ -228,12 +228,12 @@
 qed "real_sqrt_pow2_gt_zero";
 
 Goal "0 < x ==> sqrt x ~= 0";
-by (forward_tac [real_sqrt_pow2_gt_zero] 1);
+by (ftac real_sqrt_pow2_gt_zero 1);
 by (auto_tac (claset(),simpset() addsimps [numeral_2_eq_2, real_less_not_refl]));
 qed "real_sqrt_not_eq_zero";
 
 Goal "0 < x ==> inverse (sqrt(x)) ^ 2 = inverse x";
-by (forward_tac [real_sqrt_not_eq_zero] 1);
+by (ftac real_sqrt_not_eq_zero 1);
 by (cut_inst_tac [("n1","2"),("r1","sqrt x")] (realpow_inverse RS sym) 1);
 by (auto_tac (claset() addDs [real_sqrt_gt_zero_pow2],simpset()));
 qed "real_inv_sqrt_pow2";
@@ -286,8 +286,8 @@
     delsimps [fact_Suc]));
 by (rtac real_mult_le_le_mono2 1);
 by (res_inst_tac [("w1","abs x")] (real_mult_commute RS ssubst) 2);
-by (rtac (fact_Suc RS ssubst) 2);
-by (rtac (real_of_nat_mult RS ssubst) 2);
+by (stac fact_Suc 2);
+by (stac real_of_nat_mult 2);
 by (auto_tac (claset(),simpset() addsimps [abs_mult,real_inverse_distrib,
     abs_ge_zero]));
 by (auto_tac (claset(), simpset() addsimps 
@@ -402,7 +402,7 @@
 by (auto_tac (claset(),simpset() addsimps [sumr_mult] delsimps [sumr_Suc]));
 by (rtac sumr_subst 1);
 by (strip_tac 1);
-by (rtac (lemma_realpow_diff RS ssubst) 1);
+by (stac lemma_realpow_diff 1);
 by (auto_tac (claset(),simpset() addsimps real_mult_ac));
 qed "lemma_realpow_diff_sumr";
 
@@ -410,7 +410,7 @@
 \     (x - y) * sumr 0 (Suc n) (%p. (x ^ p) * (y ^(n - p)))";
 by (induct_tac "n" 1);
 by (auto_tac (claset(),simpset() delsimps [sumr_Suc]));
-by (rtac (sumr_Suc RS ssubst) 1);
+by (stac sumr_Suc 1);
 by (dtac sym 1);
 by (auto_tac (claset(),simpset() addsimps [lemma_realpow_diff_sumr,
     real_add_mult_distrib2,real_diff_def] @ 
@@ -424,7 +424,7 @@
     realpow_add RS sym] delsimps [sumr_Suc]));
 by (res_inst_tac [("c1","x - y")] (real_mult_left_cancel RS iffD1) 1);
 by (rtac (real_minus_minus RS subst) 2);
-by (rtac (real_minus_mult_eq1 RS ssubst) 2);
+by (stac real_minus_mult_eq1 2);
 by (auto_tac (claset(),simpset() addsimps [lemma_realpow_diff_sumr2 
     RS sym] delsimps [sumr_Suc]));
 qed "lemma_realpow_rev_sumr";
@@ -581,7 +581,7 @@
 Goal "[| h ~= 0; abs z <= K; abs (z + h) <= K |] \
 \     ==> abs (((z + h) ^ n - z ^ n) * inverse h - real n * z ^ (n - Suc 0)) \
 \         <= real n * real (n - Suc 0) * K ^ (n - 2) * abs h";
-by (rtac (lemma_termdiff2 RS ssubst) 1);
+by (stac lemma_termdiff2 1);
 by (asm_full_simp_tac (simpset() addsimps [abs_mult,real_mult_commute]) 2);
 by (stac real_mult_commute 2); 
 by (rtac (sumr_rabs RS real_le_trans) 2);
@@ -812,9 +812,9 @@
 Goalw [diffs_def]  
       "diffs (%n. inverse(real (fact n))) = (%n. inverse(real (fact n)))";
 by (rtac ext 1);
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (real_inverse_distrib RS ssubst) 1);
+by (stac fact_Suc 1);
+by (stac real_of_nat_mult 1);
+by (stac real_inverse_distrib 1);
 by (auto_tac (claset(),simpset() addsimps [real_mult_assoc RS sym]));
 qed "exp_fdiffs";
 
@@ -825,10 +825,10 @@
 \                (- 1) ^ (n div 2)/(real (fact n)) \
 \             else 0)";
 by (rtac ext 1);
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (even_Suc RS ssubst) 1);
-by (rtac (real_inverse_distrib RS ssubst) 1);
+by (stac fact_Suc 1);
+by (stac real_of_nat_mult 1);
+by (stac even_Suc 1);
+by (stac real_inverse_distrib 1);
 by Auto_tac;
 qed "sin_fdiffs";
 
@@ -838,10 +838,10 @@
 \      = (if even n then \
 \                (- 1) ^ (n div 2)/(real (fact n)) \
 \             else 0)";
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (even_Suc RS ssubst) 1);
-by (rtac (real_inverse_distrib RS ssubst) 1);
+by (stac fact_Suc 1);
+by (stac real_of_nat_mult 1);
+by (stac even_Suc 1);
+by (stac real_inverse_distrib 1);
 by Auto_tac;
 qed "sin_fdiffs2";
 
@@ -852,10 +852,10 @@
 \      = (%n. - (if even n then 0 \
 \          else (- 1) ^ ((n - Suc 0)div 2)/(real (fact n))))";
 by (rtac ext 1);
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (even_Suc RS ssubst) 1);
-by (rtac (real_inverse_distrib RS ssubst) 1);
+by (stac fact_Suc 1);
+by (stac real_of_nat_mult 1);
+by (stac even_Suc 1);
+by (stac real_inverse_distrib 1);
 by (res_inst_tac [("z1","real (Suc n)")] (real_mult_commute RS ssubst) 1);
 by (res_inst_tac [("z1","inverse(real (Suc n))")] 
      (real_mult_commute RS ssubst) 1);
@@ -869,10 +869,10 @@
 \                (- 1) ^ (n div 2)/(real (fact n)) else 0) n\
 \      = - (if even n then 0 \
 \          else (- 1) ^ ((n - Suc 0)div 2)/(real (fact n)))";
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (even_Suc RS ssubst) 1);
-by (rtac (real_inverse_distrib RS ssubst) 1);
+by (stac fact_Suc 1);
+by (stac real_of_nat_mult 1);
+by (stac even_Suc 1);
+by (stac real_inverse_distrib 1);
 by (res_inst_tac [("z1","real (Suc n)")] (real_mult_commute RS ssubst) 1);
 by (res_inst_tac [("z1","inverse (real (Suc n))")] 
      (real_mult_commute RS ssubst) 1);
@@ -895,7 +895,7 @@
 val lemma_exp_ext = result();
 
 Goalw [exp_def] "DERIV exp x :> exp(x)";
-by (rtac (lemma_exp_ext RS ssubst) 1);
+by (stac lemma_exp_ext 1);
 by (subgoal_tac "DERIV (%u. suminf (%n. inverse (real (fact n)) * u ^ n)) x \
 \    :> suminf (%n. diffs (%n. inverse (real (fact n))) n * x ^ n)" 1);
 by (res_inst_tac [("K","1 + abs(x)")] termdiffs 2);
@@ -918,7 +918,7 @@
 val lemma_cos_ext = result();
 
 Goalw [cos_def] "DERIV sin x :> cos(x)";
-by (rtac (lemma_sin_ext RS ssubst) 1);
+by (stac lemma_sin_ext 1);
 by (auto_tac (claset(),simpset() addsimps [sin_fdiffs2 RS sym]));
 by (res_inst_tac [("K","1 + abs(x)")] termdiffs 1);
 by (auto_tac (claset() addIs [sin_converges, cos_converges, sums_summable] 
@@ -929,7 +929,7 @@
 Addsimps [DERIV_sin];
 
 Goal "DERIV cos x :> -sin(x)";
-by (rtac (lemma_cos_ext RS ssubst) 1);
+by (stac lemma_cos_ext 1);
 by (auto_tac (claset(),simpset() addsimps [lemma_sin_minus,
     cos_fdiffs2 RS sym,real_minus_mult_eq1]));
 by (res_inst_tac [("K","1 + abs(x)")] termdiffs 1);
@@ -988,7 +988,7 @@
     [CLAIM_SIMP "(%x. exp(-x)) = exp o (%x. - x)" [ext]]));
 by (rtac (real_mult_1_right RS subst) 1);
 by (rtac (real_minus_mult_eq1 RS subst) 1);
-by (rtac (real_minus_mult_eq2 RS ssubst) 1);
+by (stac real_minus_mult_eq2 1);
 by (rtac DERIV_chain 1);
 by (rtac DERIV_minus 2);
 by Auto_tac;
@@ -1034,7 +1034,7 @@
 
 Goal "0 <= exp x";
 by (res_inst_tac [("t","x")] (real_sum_of_halves RS subst) 1);
-by (rtac (exp_add RS ssubst) 1 THEN Auto_tac);
+by (stac exp_add 1 THEN Auto_tac);
 qed "exp_ge_zero";
 Addsimps [exp_ge_zero];
 
@@ -1337,7 +1337,7 @@
 Addsimps [sin_cos_squared_add];
 
 Goal "(cos(x) ^ 2) + (sin(x) ^ 2) = 1";
-by (rtac (real_add_commute RS ssubst) 1);
+by (stac real_add_commute 1);
 by (simp_tac (simpset() delsimps [realpow_Suc]) 1);
 qed "sin_cos_squared_add2";
 Addsimps [sin_cos_squared_add2];
@@ -1586,14 +1586,14 @@
 by (stac (CLAIM "6 = 2 * (3::real)") 2);
 by (rtac real_mult_less_mono 2);  
 by (auto_tac (claset(),simpset() addsimps [real_of_nat_Suc] delsimps [fact_Suc]));
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
+by (stac fact_Suc 1);
+by (stac fact_Suc 1);
+by (stac fact_Suc 1);
+by (stac fact_Suc 1);
+by (stac real_of_nat_mult 1);
+by (stac real_of_nat_mult 1);
+by (stac real_of_nat_mult 1);
+by (stac real_of_nat_mult 1);
 by (simp_tac (simpset() addsimps [real_divide_def,
     real_inverse_distrib] delsimps [fact_Suc]) 1);
 by (auto_tac (claset(),simpset() addsimps [real_mult_assoc RS sym] 
@@ -1659,9 +1659,9 @@
 by (simp_tac (simpset() addsimps [real_mult_assoc RS sym] 
     delsimps [fact_Suc]) 1);
 by (rtac ((CLAIM "real(n::nat) * 4 = real(4 * n)") RS ssubst) 1);
-by (rtac (fact_Suc RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
-by (rtac (real_of_nat_mult RS ssubst) 1);
+by (stac fact_Suc 1);
+by (stac real_of_nat_mult 1);
+by (stac real_of_nat_mult 1);
 by (rtac real_mult_less_mono 1);
 by (Force_tac 1);
 by (Force_tac 2);
@@ -1884,7 +1884,7 @@
 qed "cos_ge_zero";
 
 Goal "[| 0 < x; x < pi  |] ==> 0 < sin x";
-by (rtac (sin_cos_eq RS ssubst) 1);
+by (stac sin_cos_eq 1);
 by (rotate_tac 1 1);
 by (dtac (real_sum_of_halves RS ssubst) 1);
 by (auto_tac (claset() addSIs [cos_gt_zero_pi],
@@ -2425,7 +2425,7 @@
 
 Goal "cos (3 / 2 * pi) = 0";
 by (rtac (CLAIM "(1::real) + 1/2 = 3/2" RS subst) 1);
-by (rtac (real_add_mult_distrib RS ssubst) 1);
+by (stac real_add_mult_distrib 1);
 by (auto_tac (claset(),simpset() addsimps [cos_add] @ real_mult_ac));
 qed "cos_3over2_pi";
 Addsimps [cos_3over2_pi];
@@ -2437,7 +2437,7 @@
 
 Goal "sin (3 / 2 * pi) = - 1";
 by (rtac (CLAIM "(1::real) + 1/2 = 3/2" RS subst) 1);
-by (rtac (real_add_mult_distrib RS ssubst) 1);
+by (stac real_add_mult_distrib 1);
 by (auto_tac (claset(),simpset() addsimps [sin_add] @real_mult_ac));
 qed "sin_3over2_pi";
 Addsimps [sin_3over2_pi];
--- a/src/HOL/IMPP/Hoare.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/IMPP/Hoare.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -408,20 +408,20 @@
 (*
 Goal "!Q. G |-{%Z s. ~(? s'. <c,s> -c-> s')}. c .{Q}";
 by (induct_tac "c" 1);
-auto();
-br conseq1 1;
-br hoare_derivs.Skip 1;
+by Auto_tac;
+by (rtac conseq1 1);
+by (rtac hoare_derivs.Skip 1);
 force 1;
-br conseq1 1;
-br hoare_derivs.Ass 1;
+by (rtac conseq1 1);
+by (rtac hoare_derivs.Ass 1);
 force 1;
 by (defer_tac 1);
 ###
-br hoare_derivs.Comp 1;
-bd spec 2;
-bd spec 2;
-ba 2;
-be conseq1 2;
+by (rtac hoare_derivs.Comp 1);
+by (dtac spec 2);
+by (dtac spec 2);
+by (assume_tac 2);
+by (etac conseq1 2);
 by (Clarsimp_tac 2);
 force 1;
 *)
--- a/src/HOL/Induct/Com.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Induct/Com.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -37,7 +37,7 @@
 by (etac exec.induct 1);
 by (Blast_tac 3);
 by (Blast_tac 1);
-by (rewrite_goals_tac [single_valued_def]);
+by (rewtac single_valued_def);
 by (REPEAT (blast_tac (claset() addEs [exec_WHILE_case]) 1));
 qed "single_valued_exec";
 
--- a/src/HOL/Induct/SList.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Induct/SList.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -448,8 +448,8 @@
 val [] = Goal "(Alls u:A. P u) = (!n. n < length A --> P(nth n A))";
 by (induct_thm_tac list_induct "A" 1);
 by (ALLGOALS Asm_simp_tac);
-br trans 1;
-br (nat_case_dist RS sym) 2;
+by (rtac trans 1);
+by (rtac (nat_case_dist RS sym) 2);
 by (ALLGOALS Asm_simp_tac);
 qed "alls_P_eq_P_nth";
 
@@ -501,10 +501,10 @@
 by (ALLGOALS Asm_simp_tac);
 by (res_inst_tac [("x","xa")] exI 1);
 by (ALLGOALS Asm_simp_tac);
-br impI 1;
+by (rtac impI 1);
 by (rotate_tac 1 1);
 by (ALLGOALS  Asm_full_simp_tac);
-be exE 1; be conjE 1;
+by (etac exE 1); by (etac conjE 1);
 by (res_inst_tac [("x","y")] exI 1);
 by (asm_simp_tac (HOL_ss addsimps [if_cancel]) 1);
 qed "mem_map_aux1";
@@ -513,14 +513,14 @@
 "(? y. y mem q & x = f y) --> x mem (map f q)";
 by (induct_thm_tac list_induct "q" 1);
 by (Asm_simp_tac 1);
-br impI 1;
-be exE 1;
-be conjE 1;
+by (rtac impI 1);
+by (etac exE 1);
+by (etac conjE 1);
 by (ALLGOALS Asm_simp_tac);
 by (case_tac "xa = y" 1);
 by (rotate_tac 2 1);
 by (asm_full_simp_tac (HOL_ss addsimps [if_cancel]) 1);
-be impE 1;
+by (etac impE 1);
 by (asm_simp_tac (HOL_ss addsimps [if_cancel]) 1);
 by (case_tac "f xa = f y" 2);
 by (res_inst_tac [("x","y")] exI 1);
@@ -531,9 +531,9 @@
 
 Goal
 "x mem (map f q) = (? y. y mem q & x = f y)";
-br iffI 1;
-br (mem_map_aux1 RS mp) 1;
-br (mem_map_aux2 RS mp) 2;
+by (rtac iffI 1);
+by (rtac (mem_map_aux1 RS mp) 1);
+by (rtac (mem_map_aux2 RS mp) 2);
 by (ALLGOALS atac);
 qed "mem_map";
 
@@ -685,7 +685,7 @@
 
 
 Goalw [o_def] "map(f o g) = ((map f) o (map g))";
-br ext 1;
+by (rtac ext 1);
 by (simp_tac (HOL_ss addsimps [map_compose RS sym,o_def]) 1);
 qed "map_compose_ext";
 
@@ -839,8 +839,8 @@
 
 Goal "ALL A. length(A) = n --> take(A@B) n = A";
 by (induct_tac "n" 1);
-br allI 1;
-br allI 2;
+by (rtac allI 1);
+by (rtac allI 2);
 by (induct_thm_tac list_induct "A" 1);
 by (induct_thm_tac list_induct "A" 3);
 by (ALLGOALS  Asm_full_simp_tac);
@@ -848,8 +848,8 @@
 
 Goal "ALL A. length(A) = n --> take(A@B) (n+k) = A@take B k";
 by (induct_tac "n" 1);
-br allI 1;
-br allI 2;
+by (rtac allI 1);
+by (rtac allI 2);
 by (induct_thm_tac list_induct "A" 1);
 by (induct_thm_tac list_induct "A" 3);
 by (ALLGOALS  Asm_full_simp_tac);
@@ -865,8 +865,8 @@
 
 Goal "ALL A. length(A) = n --> drop(A@B)n = B";
 by (induct_tac "n" 1);
-br allI 1;
-br allI 2;
+by (rtac allI 1);
+by (rtac allI 2);
 by (induct_thm_tac list_induct "A" 1);
 by (induct_thm_tac list_induct "A" 3);
 by (ALLGOALS  Asm_full_simp_tac);
@@ -874,8 +874,8 @@
 
 Goal "ALL A. length(A) = n --> drop(A@B)(n+k) = drop B k";
 by (induct_tac "n" 1);
-br allI 1;
-br allI 2;
+by (rtac allI 1);
+by (rtac allI 2);
 by (induct_thm_tac list_induct "A" 1);
 by (induct_thm_tac list_induct "A" 3);
 by (ALLGOALS  Asm_full_simp_tac);
@@ -884,8 +884,8 @@
 
 Goal "ALL A. length(A) = n --> drop A n = []";
 by (induct_tac "n" 1);
-br allI 1;
-br allI 2;
+by (rtac allI 1);
+by (rtac allI 2);
 by (induct_thm_tac list_induct "A" 1);
 by (induct_thm_tac list_induct "A" 3);
 by Auto_tac; 
@@ -902,8 +902,8 @@
 
 Goal "ALL A. length(A) = n --> take A n = A";
 by (induct_tac "n" 1);
-br allI 1;
-br allI 2;
+by (rtac allI 1);
+by (rtac allI 2);
 by (induct_thm_tac list_induct "A" 1);
 by (induct_thm_tac list_induct "A" 3);
 by (ALLGOALS (simp_tac (simpset())));
@@ -949,9 +949,9 @@
 "[| !a. f a e = a; !a. f e a = a;          \
 \   !a b c. f a (f b c) = f(f a b) c |]   \
 \ ==> foldl f e (A @ B) = f(foldl f e A)(foldl f e B)";
-br trans 1;
-br foldl_append 1;
-br (foldl_neutr_distr) 1;
+by (rtac trans 1);
+by (rtac foldl_append 1);
+by (rtac (foldl_neutr_distr) 1);
 by Auto_tac; 
 qed "foldl_append_sym";
 
@@ -983,7 +983,7 @@
 "[| !a. f e a = a; !a b c. f a (f b c) = f(f a b) c |] ==> \
 \ foldr f e (A @ B) = f (foldr f e A) (foldr f e B)";
 by Auto_tac;
-br foldr_neutr_distr 1;
+by (rtac foldr_neutr_distr 1);
 by Auto_tac; 
 qed "foldr_append2";
 
@@ -1020,7 +1020,7 @@
 Goal "ALL i. i < length(A)  --> nth i (map f A) = f(nth i A)";
 by (induct_thm_tac list_induct "A" 1);
 by (ALLGOALS(asm_simp_tac (simpset() delsimps [less_Suc_eq])));
-br allI 1;
+by (rtac allI 1);
 by (induct_tac "i" 1);
 by (ALLGOALS(asm_simp_tac (simpset() addsimps [nth_0,nth_Suc])));
 qed_spec_mp "nth_map";
@@ -1028,7 +1028,7 @@
 Goal "ALL i. i < length(A)  --> nth i(A@B) = nth i A";
 by (induct_thm_tac list_induct "A" 1);
 by (ALLGOALS(asm_simp_tac (simpset() delsimps [less_Suc_eq])));
-br allI 1;
+by (rtac allI 1);
 by (induct_tac "i" 1);
 by (ALLGOALS(asm_simp_tac (simpset() addsimps [nth_0,nth_Suc])));
 qed_spec_mp "nth_app_cancel_right";
@@ -1085,9 +1085,9 @@
 qed "foldl_rev";
 
 Goal "foldr f b (rev l) = foldl (%x y. f y x) b l";
-br sym 1;
-br trans 1;
-br foldl_rev 2;
+by (rtac sym 1);
+by (rtac trans 1);
+by (rtac foldl_rev 2);
 by (simp_tac (HOL_ss addsimps [rev_rev_ident]) 1);
 qed "foldr_rev";
 
--- a/src/HOL/Integ/Bin.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Integ/Bin.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -313,7 +313,7 @@
 Goalw [zabs_def]
  "abs(number_of x::int) = \
 \ (if number_of x < (0::int) then -number_of x else number_of x)";
-by(rtac refl 1);
+by (rtac refl 1);
 qed "zabs_number_of";
 
 (*0 and 1 require special rewrites because they aren't numerals*)
--- a/src/HOL/Integ/IntArith.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Integ/IntArith.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -10,17 +10,17 @@
 Addsimps [int_diff_minus_eq];
 
 Goal "abs(abs(x::int)) = abs(x)";
-by(arith_tac 1);
+by (arith_tac 1);
 qed "abs_abs";
 Addsimps [abs_abs];
 
 Goal "abs(-(x::int)) = abs(x)";
-by(arith_tac 1);
+by (arith_tac 1);
 qed "abs_minus";
 Addsimps [abs_minus];
 
 Goal "abs(x+y) <= abs(x) + abs(y::int)";
-by(arith_tac 1);
+by (arith_tac 1);
 qed "triangle_ineq";
 
 
@@ -28,35 +28,35 @@
 
 Goal "(ALL i<n::nat. abs(f(i+1) - f i) <= 1) --> \
 \     f 0 <= k --> k <= f n --> (EX i <= n. f i = (k::int))";
-by(induct_tac "n" 1);
- by(Asm_simp_tac 1);
-by(strip_tac 1);
-by(etac impE 1);
- by(Asm_full_simp_tac 1);
-by(eres_inst_tac [("x","n")] allE 1);
-by(Asm_full_simp_tac 1);
-by(case_tac "k = f(n+1)" 1);
- by(Force_tac 1);
-by(etac impE 1);
- by(asm_full_simp_tac (simpset() addsimps [zabs_def] 
+by (induct_tac "n" 1);
+ by (Asm_simp_tac 1);
+by (strip_tac 1);
+by (etac impE 1);
+ by (Asm_full_simp_tac 1);
+by (eres_inst_tac [("x","n")] allE 1);
+by (Asm_full_simp_tac 1);
+by (case_tac "k = f(n+1)" 1);
+ by (Force_tac 1);
+by (etac impE 1);
+ by (asm_full_simp_tac (simpset() addsimps [zabs_def] 
                                  addsplits [split_if_asm]) 1);
- by(arith_tac 1);
-by(blast_tac (claset() addIs [le_SucI]) 1);
+ by (arith_tac 1);
+by (blast_tac (claset() addIs [le_SucI]) 1);
 val lemma = result();
 
 bind_thm("nat0_intermed_int_val", ObjectLogic.rulify_no_asm lemma);
 
 Goal "[| !i. m <= i & i < n --> abs(f(i + 1::nat) - f i) <= 1; m < n; \
 \        f m <= k; k <= f n |] ==> ? i. m <= i & i <= n & f i = (k::int)";
-by(cut_inst_tac [("n","n-m"),("f", "%i. f(i+m)"),("k","k")]lemma 1);
-by(Asm_full_simp_tac 1);
-by(etac impE 1);
- by(strip_tac 1);
- by(eres_inst_tac [("x","i+m")] allE 1);
- by(arith_tac 1);
-by(etac exE 1);
-by(res_inst_tac [("x","i+m")] exI 1);
-by(arith_tac 1);
+by (cut_inst_tac [("n","n-m"),("f", "%i. f(i+m)"),("k","k")]lemma 1);
+by (Asm_full_simp_tac 1);
+by (etac impE 1);
+ by (strip_tac 1);
+ by (eres_inst_tac [("x","i+m")] allE 1);
+ by (arith_tac 1);
+by (etac exE 1);
+by (res_inst_tac [("x","i+m")] exI 1);
+by (arith_tac 1);
 qed "nat_intermed_int_val";
 
 
--- a/src/HOL/Integ/NatSimprocs.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Integ/NatSimprocs.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -101,7 +101,7 @@
 Goal "Suc(Suc(m)) mod 2 = m mod 2";
 by (subgoal_tac "m mod 2 < 2" 1);
 by (Asm_simp_tac 2);
-be (less_2_cases RS disjE) 1;
+by (etac (less_2_cases RS disjE) 1);
 by (ALLGOALS (asm_simp_tac (simpset() addsimps [Let_def, mod_Suc, nat_1])));
 qed "mod2_Suc_Suc";
 Addsimps [mod2_Suc_Suc];
--- a/src/HOL/Integ/int_arith2.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Integ/int_arith2.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -98,7 +98,7 @@
 
 Goalw [zabs_def]
  "P(abs(i::int)) = ((0 <= i --> P i) & (i < 0 --> P(-i)))";
-by(Simp_tac 1);
+by (Simp_tac 1);
 qed "zabs_split";
 
 Goal "0 <= abs (z::int)";
--- a/src/HOL/Lex/AutoChopper.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Lex/AutoChopper.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -202,8 +202,8 @@
    by (asm_simp_tac HOL_ss 1);
   by (res_inst_tac [("x","x")] exI 1);
   by (Asm_simp_tac 1);
-  by(rtac allI 1);
-  by(case_tac "as" 1);
+  by (rtac allI 1);
+  by (case_tac "as" 1);
    by (Asm_simp_tac 1);
   by (asm_simp_tac (simpset() addcongs[conj_cong]) 1);
  by (strip_tac 1);
@@ -214,8 +214,8 @@
   by (asm_simp_tac HOL_ss 1);
  by (res_inst_tac [("x","x")] exI 1);
  by (Asm_simp_tac 1);
- by(rtac allI 1);
- by(case_tac "as" 1);
+ by (rtac allI 1);
+ by (case_tac "as" 1);
   by (Asm_simp_tac 1);
  by (asm_simp_tac (simpset() addcongs[conj_cong]) 1);
 by (Asm_simp_tac 1);
@@ -225,8 +225,8 @@
  by (subgoal_tac "r @ [a] ~= []" 1);
   by (Fast_tac 1);
  by (Simp_tac 1);
-by(rtac allI 1);
-by(case_tac "as" 1);
+by (rtac allI 1);
+by (case_tac "as" 1);
  by (Asm_simp_tac 1);
 by (asm_full_simp_tac (simpset() addsimps [acc_prefix_def] addcongs[conj_cong]) 1);
 by (etac thin_rl 1); (* speed up *)
--- a/src/HOL/List.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/List.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -49,8 +49,8 @@
 Addsimps [lists_Int_eq];
 
 Goal "(xs@ys : lists A) = (xs : lists A & ys : lists A)";
-by(induct_tac "xs" 1);
-by(Auto_tac);
+by (induct_tac "xs" 1);
+by (Auto_tac);
 qed "append_in_lists_conv";
 AddIffs [append_in_lists_conv];
 
@@ -725,7 +725,7 @@
 qed_spec_mp "set_update_subset_insert";
 
 Goal "[| set xs <= A; x:A |] ==> set(xs[i := x]) <= A";
-by(fast_tac (claset() addSDs [set_update_subset_insert RS subsetD]) 1);
+by (fast_tac (claset() addSDs [set_update_subset_insert RS subsetD]) 1);
 qed "set_update_subsetI";
 
 (** last & butlast **)
--- a/src/HOL/Nat.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Nat.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -47,7 +47,7 @@
 bind_thm ("gr0I", [neq0_conv, notI] MRS iffD1);
 
 Goal "(0<n) = (EX m. n = Suc m)";
-by(fast_tac (claset() addIs [not0_implies_Suc]) 1);
+by (fast_tac (claset() addIs [not0_implies_Suc]) 1);
 qed "gr0_conv_Suc";
 
 Goal "!!n::nat. (~(0 < n)) = (n=0)";
@@ -654,7 +654,7 @@
 Addsimps [mult_eq_1_iff];
 
 Goal "(Suc 0 = m*n) = (m=1 & n=1)";
-by(rtac (mult_eq_1_iff RSN (2,trans)) 1);
+by (rtac (mult_eq_1_iff RSN (2,trans)) 1);
 by (fast_tac (claset() addss simpset()) 1);
 qed "one_eq_mult_iff";
 Addsimps [one_eq_mult_iff];
--- a/src/HOL/Prolog/Func.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Prolog/Func.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -1,7 +1,7 @@
 open Func;
 
 val prog_Func = prog_HOHH @ [eval];
-fun pgoal s = (case Goal s of _ => by(prolog_tac prog_Func));
+fun pgoal s = (case Goal s of _ => by (prolog_tac prog_Func));
 val p = ptac prog_Func 1;
 
 pgoal "eval ((S (S Z)) + (S Z)) ?X";
--- a/src/HOL/Prolog/Test.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Prolog/Test.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -1,7 +1,7 @@
 open Test;
 
 val prog_Test = prog_HOHH@[append, reverse, mappred, mapfun, age, eq, bag_appl];
-fun pgoal s = (case Goal s of _ => by(prolog_tac prog_Test));
+fun pgoal s = (case Goal s of _ => by (prolog_tac prog_Test));
 val p = ptac prog_Test 1;
 
 pgoal "append ?x ?y [a,b,c,d]";
@@ -40,8 +40,8 @@
 
 (*
 goal thy "f a = ?g a a & ?g = x"; 
-by(rtac conjI 1);
-by(rtac refl 1);
+by (rtac conjI 1);
+by (rtac refl 1);
 back();
 back();
 *)
@@ -103,19 +103,19 @@
 
 (* implication and disjunction in atom: *)
 goal thy "? Q. (!p q. R(q :- p) => R(Q p q)) & Q (t | s) (s | t)";
-by(fast_tac HOL_cs 1);
+by (fast_tac HOL_cs 1);
 
 (* disjunction in atom: *)
 goal thy "(!P. g P :- (P => b | a)) => g(a | b)";
-by(step_tac HOL_cs 1);
-by(step_tac HOL_cs 1);
-by(step_tac HOL_cs 1);
-by(fast_tac HOL_cs 2);
-by(fast_tac HOL_cs 1);
+by (step_tac HOL_cs 1);
+by (step_tac HOL_cs 1);
+by (step_tac HOL_cs 1);
+by (fast_tac HOL_cs 2);
+by (fast_tac HOL_cs 1);
 (*
 hangs:
 goal thy "(!P. g P :- (P => b | a)) => g(a | b)";
-by(fast_tac HOL_cs 1);
+by (fast_tac HOL_cs 1);
 *)
 
 pgoal "!Emp Stk.(\
--- a/src/HOL/Prolog/Type.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Prolog/Type.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -1,5 +1,5 @@
 val prog_Type = prog_Func @ [good_typeof,common_typeof];
-fun pgoal s = (case Goal s of _ => by(prolog_tac prog_Type));
+fun pgoal s = (case Goal s of _ => by (prolog_tac prog_Type));
 val p = ptac prog_Type 1;
 
 pgoal "typeof (abs(%n. abs(%m. abs(%p. p and (n eq m))))) ?T";
--- a/src/HOL/Transitive_Closure_lemmas.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Transitive_Closure_lemmas.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -305,7 +305,7 @@
 qed "converse_trancl_induct";
 
 Goal "(x,y):R^+ ==> ? z. (x,z):R & (z,y):R^*";
-be converse_trancl_induct 1;
+by (etac converse_trancl_induct 1);
 by Auto_tac;
 by (blast_tac (claset() addIs [rtrancl_trans]) 1);
 qed "tranclD";
--- a/src/HOL/Wellfounded_Recursion.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Wellfounded_Recursion.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -222,7 +222,7 @@
 AddIffs [acyclic_converse];
 
 Goalw [acyclic_def,antisym_def] "acyclic r ==> antisym(r^*)";
-by(blast_tac (claset() addEs [rtranclE]
+by (blast_tac (claset() addEs [rtranclE]
      addIs [rtrancl_into_trancl1,rtrancl_trancl_trancl]) 1);
 qed "acyclic_impl_antisym_rtrancl";
 
--- a/src/HOL/Wellfounded_Relations.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/Wellfounded_Relations.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -174,12 +174,12 @@
 
 val prems = goalw thy [same_fst_def]
   "(!!x. P x ==> wf(R x)) ==> wf(same_fst P R)";
-by(full_simp_tac (simpset() delcongs [imp_cong] addsimps [wf_def]) 1);
-by(strip_tac 1);
-by(rename_tac "a b" 1);
-by(case_tac "wf(R a)" 1);
+by (full_simp_tac (simpset() delcongs [imp_cong] addsimps [wf_def]) 1);
+by (strip_tac 1);
+by (rename_tac "a b" 1);
+by (case_tac "wf(R a)" 1);
  by (eres_inst_tac [("a","b")] wf_induct 1);
  by (EVERY1[etac allE, etac allE, etac mp, rtac allI, rtac allI]);
- by(Blast_tac 1);
-by(blast_tac (claset() addIs prems) 1);
+ by (Blast_tac 1);
+by (blast_tac (claset() addIs prems) 1);
 qed "wf_same_fst";
--- a/src/HOL/equalities.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/equalities.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -427,12 +427,12 @@
 Addsimps [Compl_UNIV_eq, Compl_empty_eq];
 
 Goal "(-A <= -B) = (B <= (A::'a set))";
-by(Blast_tac 1);
+by (Blast_tac 1);
 qed "Compl_subset_Compl_iff";
 AddIffs [Compl_subset_Compl_iff];
 
 Goal "(-A = -B) = (A = (B::'a set))";
-by(Blast_tac 1);
+by (Blast_tac 1);
 qed "Compl_eq_Compl_iff";
 AddIffs [Compl_eq_Compl_iff];
 
--- a/src/HOL/ex/AVL.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/ex/AVL.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -129,15 +129,15 @@
  by (case_tac "height (insert x tree1) = Suc (Suc (height tree2))" 1);
   by (forw_inst_tac [("n","nat")]  height_l_bal 1);  
   by (asm_full_simp_tac (simpset() addsimps [max_def]) 1);
-  by(fast_tac (claset() addss simpset()) 1);
+  by (fast_tac (claset() addss simpset()) 1);
  by (asm_full_simp_tac (simpset() addsimps [max_def]) 1);
- by(fast_tac (claset() addss simpset()) 1);
+ by (fast_tac (claset() addss simpset()) 1);
 by (case_tac "height (insert x tree2) = Suc (Suc (height tree1))" 1);
  by (forw_inst_tac [("n","nat")]  height_r_bal 1); 
  by (asm_full_simp_tac (simpset() addsimps [max_def]) 1);
- by(fast_tac (claset() addss simpset()) 1);
+ by (fast_tac (claset() addss simpset()) 1);
 by (asm_full_simp_tac (simpset() addsimps [max_def]) 1);
-by(fast_tac (claset() addss simpset()) 1);
+by (fast_tac (claset() addss simpset()) 1);
 qed_spec_mp "height_insert";
 
 
@@ -174,9 +174,9 @@
   by (fast_tac (claset() addIs [isbal_r_rot] addss (simpset() 
 	addsimps [l_bal_def])) 1);  
  by (Clarify_tac 1);
- by (forward_tac [isbal_insert_left] 1);
+ by (ftac isbal_insert_left 1);
    by (Asm_full_simp_tac 1); 
-  ba 1;
+  by (assume_tac 1);
  by (Asm_full_simp_tac 1); 
 by (case_tac "height (insert x tree2) = Suc (Suc (height tree1))" 1);
  by (case_tac "bal (insert x tree2) = Left" 1);
@@ -185,9 +185,9 @@
  by (fast_tac (claset() addIs [isbal_l_rot] addss (simpset() 
 	addsimps [r_bal_def])) 1);  
 by (Clarify_tac 1);
-by (forward_tac [isbal_insert_right] 1);
+by (ftac isbal_insert_right 1);
    by (Asm_full_simp_tac 1); 
-  ba 1;
+  by (assume_tac 1);
  by (Asm_full_simp_tac 1); 
 qed_spec_mp "isbal_insert";
 
@@ -243,9 +243,9 @@
 "isin y (insert x t) = (y=x | isin y t)";
 by (induct_tac "t" 1);
  by (Asm_simp_tac 1);
-by(asm_simp_tac (simpset() addsimps [l_bal_def,isin_lr_rot,isin_r_rot,
+by (asm_simp_tac (simpset() addsimps [l_bal_def,isin_lr_rot,isin_r_rot,
 	r_bal_def,isin_rl_rot,isin_l_rot]) 1);
-by(Blast_tac 1);
+by (Blast_tac 1);
 qed "isin_insert";
 
 
@@ -261,7 +261,7 @@
 by (case_tac "tree2" 1);
  by (Asm_simp_tac 1);
 by (Asm_simp_tac 1);
-by(blast_tac (claset() addIs [less_trans])1);
+by (blast_tac (claset() addIs [less_trans])1);
 qed_spec_mp "isord_lr_rot";
 
 
@@ -282,7 +282,7 @@
 by (case_tac "tree1" 1);
  by (asm_simp_tac (simpset() addsimps [le_def]) 1);
 by (Asm_simp_tac 1);
-by(blast_tac (claset() addIs [less_trans])1);
+by (blast_tac (claset() addIs [less_trans])1);
 qed_spec_mp "isord_rl_rot";
 
 
@@ -292,7 +292,7 @@
 by (case_tac "r" 1); 
  by (Asm_simp_tac 1);
 by (Asm_simp_tac 1);
-by(blast_tac (claset() addIs [less_trans])1);
+by (blast_tac (claset() addIs [less_trans])1);
 qed_spec_mp "isord_l_rot";
 
 (* insert operation presreves isord property *)
--- a/src/HOL/ex/Puzzle.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/ex/Puzzle.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -32,9 +32,9 @@
  by (Simp_tac 1);
 by (rtac impI 1);
 by (etac le_SucE 1);
- by(cut_inst_tac [("n","n")]lemma2 1);
- by(arith_tac 1);
-by(Asm_simp_tac 1);
+ by (cut_inst_tac [("n","n")]lemma2 1);
+ by (arith_tac 1);
+by (Asm_simp_tac 1);
 qed_spec_mp "f_mono";
 
 Goal "f(n) = n";
--- a/src/HOL/ex/Sorting.ML	Thu Dec 13 12:33:23 2001 +0100
+++ b/src/HOL/ex/Sorting.ML	Thu Dec 13 15:45:03 2001 +0100
@@ -28,7 +28,7 @@
 Goal "transf(le) ==> sorted1 le xs = sorted le xs";
 by (induct_tac "xs" 1);
 by (ALLGOALS (asm_simp_tac (simpset() addsplits [list.split])));
-by (rewrite_goals_tac [transf_def]);
+by (rewtac transf_def);
 by (Blast_tac 1);
 qed "sorted1_is_sorted";