diff -r 5af6ed62385b -r ecd6f0ca62ea src/HOL/Transcendental.thy --- a/src/HOL/Transcendental.thy Thu Mar 05 00:16:28 2009 +0100 +++ b/src/HOL/Transcendental.thy Wed Mar 04 17:12:23 2009 -0800 @@ -19,7 +19,7 @@ proof - assume "p \ n" hence "Suc n - p = Suc (n - p)" by (rule Suc_diff_le) - thus ?thesis by (simp add: power_Suc power_commutes) + thus ?thesis by (simp add: power_commutes) qed lemma lemma_realpow_diff_sumr: @@ -33,14 +33,14 @@ fixes y :: "'a::{recpower,comm_ring}" shows "x ^ (Suc n) - y ^ (Suc n) = (x - y) * (\p=0..n. S (Suc n) = (x * S n) /\<^sub>R real (Suc n)" - unfolding S_def by (simp add: power_Suc del: mult_Suc) + unfolding S_def by (simp del: mult_Suc) obtain r :: real where r0: "0 < r" and r1: "r < 1" using dense [OF zero_less_one] by fast obtain N :: nat where N: "norm x < real N * r" @@ -928,7 +928,7 @@ next case (Suc n) have S_Suc: "\x n. S x (Suc n) = (x * S x n) /\<^sub>R real (Suc n)" - unfolding S_def by (simp add: power_Suc del: mult_Suc) + unfolding S_def by (simp del: mult_Suc) hence times_S: "\x n. x * S x n = real (Suc n) *\<^sub>R S x (Suc n)" by simp @@ -1471,22 +1471,22 @@ lemma sin_cos_squared_add2 [simp]: "((cos x)\) + ((sin x)\) = 1" apply (subst add_commute) -apply (simp (no_asm) del: realpow_Suc) +apply (rule sin_cos_squared_add) done lemma sin_cos_squared_add3 [simp]: "cos x * cos x + sin x * sin x = 1" apply (cut_tac x = x in sin_cos_squared_add2) -apply (auto simp add: numeral_2_eq_2) +apply (simp add: power2_eq_square) done lemma sin_squared_eq: "(sin x)\ = 1 - (cos x)\" apply (rule_tac a1 = "(cos x)\" in add_right_cancel [THEN iffD1]) -apply (simp del: realpow_Suc) +apply simp done lemma cos_squared_eq: "(cos x)\ = 1 - (sin x)\" apply (rule_tac a1 = "(sin x)\" in add_right_cancel [THEN iffD1]) -apply (simp del: realpow_Suc) +apply simp done lemma abs_sin_le_one [simp]: "\sin x\ \ 1" @@ -1642,6 +1642,7 @@ thus ?thesis unfolding One_nat_def by (simp add: mult_ac) qed +text {* FIXME: This is a long, ugly proof! *} lemma sin_gt_zero: "[|0 < x; x < 2 |] ==> 0 < sin x" apply (subgoal_tac "(\n. \k = n * 2..