Improved a few proofs.
--- a/src/HOL/Lambda/Lambda.ML Thu Oct 19 13:25:03 1995 +0100
+++ b/src/HOL/Lambda/Lambda.ML Sun Oct 22 15:16:57 1995 +0100
@@ -105,7 +105,7 @@
by (excluded_middle_tac "nat < i" 1);
by ((forward_tac [lt_trans2] 2) THEN (assume_tac 2));
by (ALLGOALS(asm_full_simp_tac (addsplit(!simpset) addsimps [less_SucI])));
-qed"lift_lift";
+bind_thm("lift_lift", result() RS spec RS spec RS mp);
goal Lambda.thy "!i j s. j < Suc i --> \
\ lift (t[s/j]) i = (lift t (Suc i)) [lift s i / j]";
@@ -155,8 +155,7 @@
goal Lambda.thy "!i j u v. i < Suc j --> \
\ t[lift v i / Suc j][u[v/j]/i] = t[u/i][v/j]";
by(db.induct_tac "t" 1);
-by (ALLGOALS(asm_simp_tac (!simpset addsimps
- [lift_lift RS spec RS spec RS mp RS sym,lift_subst_lt])));
+by(ALLGOALS(asm_simp_tac(!simpset addsimps [lift_lift RS sym,lift_subst_lt])));
by(strip_tac 1);
by (excluded_middle_tac "nat < Suc(Suc j)" 1);
by(Asm_full_simp_tac 1);
--- a/src/HOL/Lambda/ParRed.ML Thu Oct 19 13:25:03 1995 +0100
+++ b/src/HOL/Lambda/ParRed.ML Sun Oct 22 15:16:57 1995 +0100
@@ -1,4 +1,4 @@
-(* Title: HOL/Lambda/ParRed.thy
+(* Title: HOL/Lambda/ParRed.ML
ID: $Id$
Author: Tobias Nipkow
Copyright 1995 TU Muenchen
@@ -63,8 +63,7 @@
by(strip_tac 1);
bes par_beta_cases 1;
by(Asm_simp_tac 1);
- by(Asm_simp_tac 1);
- br (zero_less_Suc RS subst_subst RS subst) 1;
+ by(asm_simp_tac (!simpset addsimps [subst_subst RS sym]) 1);
by(fast_tac (parred_cs addSIs [par_beta_lift] addss (!simpset)) 1);
by(fast_tac (parred_cs addss (!simpset)) 1);
bind_thm("par_beta_subst",
@@ -73,9 +72,7 @@
(*** Confluence (directly) ***)
goalw ParRed.thy [diamond_def,commute_def,square_def] "diamond(par_beta)";
-by(REPEAT(rtac allI 1));
-br impI 1;
-be (par_beta.mutual_induct RS spec RS spec RSN (2,rev_mp)) 1;
+br par_beta.mutual_induct 1;
by(ALLGOALS(fast_tac (parred_cs addSIs [par_beta_subst])));
qed "diamond_par_beta";