
diff -r 9d35c6145dd2 -r bc739536b715 Quot/Nominal/LamEx.thy
--- a/Quot/Nominal/LamEx.thy	Thu Jan 28 12:24:49 2010 +0100
+++ b/Quot/Nominal/LamEx.thy	Thu Jan 28 12:25:38 2010 +0100
@@ -230,18 +230,16 @@
 
 lemma alpha_equivp:
   shows "equivp alpha"
-apply(rule equivpI)
-unfolding reflp_def symp_def transp_def
-apply(auto intro: alpha_refl alpha_sym alpha_trans)
-done
+  apply(rule equivpI)
+  unfolding reflp_def symp_def transp_def
+  apply(auto intro: alpha_refl alpha_sym alpha_trans)
+  done
 
 lemma alpha_rfv:
   shows "t \<approx> s \<Longrightarrow> rfv t = rfv s"
-apply(induct rule: alpha.induct)
-apply(simp)
-apply(simp)
-apply(simp)
-done
+  apply(induct rule: alpha.induct)
+  apply(simp_all)
+  done
 
 
 quotient_type lam = rlam / alpha
@@ -377,6 +375,10 @@
   shows "(Var a = Var b) = (a = b)"
   and   "(App t1 t2 = App s1 s2) = (t1 = s1 \<and> t2 = s2)"
 apply(lifting rlam.inject(1) rlam.inject(2))
+apply(regularize)
+prefer 2
+apply(regularize)
+prefer 2
 apply(auto)
 apply(drule alpha.cases)
 apply(simp_all)
@@ -397,18 +399,18 @@
   and   "\<not>(rApp rlam1 rlam2 \<approx> rLam nam' rlam')"
   and   "\<not>(rLam nam' rlam' \<approx> rApp rlam1 rlam2)"
 apply auto
-apply(erule alpha.cases)
-apply simp_all
-apply(erule alpha.cases)
-apply simp_all
-apply(erule alpha.cases)
-apply simp_all
-apply(erule alpha.cases)
-apply simp_all
-apply(erule alpha.cases)
-apply simp_all
-apply(erule alpha.cases)
-apply simp_all
+apply (erule alpha.cases)
+apply (simp_all only: rlam.distinct)
+apply (erule alpha.cases)
+apply (simp_all only: rlam.distinct)
+apply (erule alpha.cases)
+apply (simp_all only: rlam.distinct)
+apply (erule alpha.cases)
+apply (simp_all only: rlam.distinct)
+apply (erule alpha.cases)
+apply (simp_all only: rlam.distinct)
+apply (erule alpha.cases)
+apply (simp_all only: rlam.distinct)
 done
 
 lemma lam_distinct[simp]:




