diff -r 8df4c332cb1c -r 6a80fbc4e72c src/HOL/Library/Kleene_Algebra.thy --- a/src/HOL/Library/Kleene_Algebra.thy Tue Sep 13 13:17:52 2011 +0200 +++ b/src/HOL/Library/Kleene_Algebra.thy Tue Sep 13 16:21:48 2011 +0200 @@ -377,19 +377,18 @@ have [simp]: "1 \ star a" unfolding star_cont[of 1 a 1, simplified] by (subst power_0[symmetric]) (rule le_SUPI [OF UNIV_I]) - - show "1 + a * star a \ star a" - apply (rule plus_leI, simp) - apply (simp add:star_cont[of a a 1, simplified]) - apply (simp add:star_cont[of 1 a 1, simplified]) - apply (subst power_Suc[symmetric]) - by (intro SUP_leI le_SUPI UNIV_I) + + have "a * star a \ star a" + using star_cont[of a a 1] star_cont[of 1 a 1] + by (auto simp add: power_Suc[symmetric] simp del: power_Suc + intro: SUP_leI le_SUPI) - show "1 + star a * a \ star a" - apply (rule plus_leI, simp) - apply (simp add:star_cont[of 1 a a, simplified]) - apply (simp add:star_cont[of 1 a 1, simplified]) - by (auto intro: SUP_leI le_SUPI simp add: power_Suc[symmetric] power_commutes simp del: power_Suc) + then show "1 + a * star a \ star a" + by simp + + then show "1 + star a * a \ star a" + using star_cont[of a a 1] star_cont[of 1 a a] + by (simp add: power_commutes) show "a * x \ x \ star a * x \ x" proof -