diff -r 113c9516a2d7 -r 3aa6c5bfdcbb src/HOL/Complex/CSeries.thy --- a/src/HOL/Complex/CSeries.thy Mon Oct 09 02:19:51 2006 +0200 +++ b/src/HOL/Complex/CSeries.thy Mon Oct 09 02:19:51 2006 +0200 @@ -30,52 +30,42 @@ *) lemma sumc_Suc_zero [simp]: "sumc (Suc n) n f = 0" -by (induct "n", auto) +by (induct n) auto lemma sumc_eq_bounds [simp]: "sumc m m f = 0" -by (induct "m", auto) +by (induct m) auto lemma sumc_Suc_eq [simp]: "sumc m (Suc m) f = f(m)" by auto lemma sumc_add_lbound_zero [simp]: "sumc (m+k) k f = 0" -by (induct "k", auto) +by (induct k) auto lemma sumc_add: "sumc m n f + sumc m n g = sumc m n (%n. f n + g n)" -apply (induct "n") -apply (auto simp add: add_ac) -done +by (induct n) (auto simp add: add_ac) lemma sumc_mult: "r * sumc m n f = sumc m n (%n. r * f n)" -apply (induct "n", auto) -apply (auto simp add: right_distrib) -done +by (induct n) (auto simp add: right_distrib) lemma sumc_split_add [rule_format]: "n < p --> sumc 0 n f + sumc n p f = sumc 0 p f" -apply (induct "p") -apply (auto dest!: leI dest: le_anti_sym) -done +by (induct p) (auto dest!: leI dest: le_anti_sym) lemma sumc_split_add_minus: "n < p ==> sumc 0 p f + - sumc 0 n f = sumc n p f" -apply (drule_tac f1 = f in sumc_split_add [symmetric]) +apply (drule_tac f = f in sumc_split_add [symmetric]) apply (simp add: add_ac) done lemma sumc_cmod: "cmod(sumc m n f) \ (\i=m..r. m \ r & r < n --> f r = g r) --> sumc m n f = sumc m n g" by (induct "n", auto) lemma sumc_const [simp]: "sumc 0 n (%i. r) = complex_of_real (real n) * r" -apply (induct "n") -apply (auto simp add: left_distrib real_of_nat_Suc) -done +by (induct n) (auto simp add: left_distrib real_of_nat_Suc) lemma sumc_add_mult_const: "sumc 0 n f + -(complex_of_real(real n) * r) = sumc 0 n (%i. f i + -r)" @@ -86,31 +76,27 @@ by (simp add: diff_minus sumc_add_mult_const) lemma sumc_less_bounds_zero [rule_format]: "n < m --> sumc m n f = 0" -by (induct "n", auto) +by (induct n) auto lemma sumc_minus: "sumc m n (%i. - f i) = - sumc m n f" -by (induct "n", auto) +by (induct n) auto lemma sumc_shift_bounds: "sumc (m+k) (n+k) f = sumc m n (%i. f(i + k))" -by (induct "n", auto) +by (induct n) auto lemma sumc_minus_one_complexpow_zero [simp]: "sumc 0 (2*n) (%i. (-1) ^ Suc i) = 0" -by (induct "n", auto) +by (induct n) auto lemma sumc_interval_const [rule_format (no_asm)]: "(\n. m \ Suc n --> f n = r) & m \ na --> sumc m na f = (complex_of_real(real (na - m)) * r)" -apply (induct "na") -apply (auto simp add: Suc_diff_le real_of_nat_Suc left_distrib) -done +by (induct na) (auto simp add: Suc_diff_le real_of_nat_Suc left_distrib) lemma sumc_interval_const2 [rule_format (no_asm)]: "(\n. m \ n --> f n = r) & m \ na --> sumc m na f = (complex_of_real(real (na - m)) * r)" -apply (induct "na") -apply (auto simp add: left_distrib Suc_diff_le real_of_nat_Suc) -done +by (induct na) (auto simp add: left_distrib Suc_diff_le real_of_nat_Suc) (*** Goal "(\n. m \ n --> 0 \ cmod(f n)) & m < k --> cmod(sumc 0 m f) \ cmod(sumc 0 k f)" @@ -148,14 +134,14 @@ ***) lemma sumr_cmod_ge_zero [iff]: "0 \ (\n=m..n=m..n=m..p. (m \ p & p < m + n --> (f p = g p))) --> sumc m n f = sumc m n g" -by (induct "n", auto) +by (induct n) auto lemma sumc_group [simp]: "sumc 0 n (%m. sumc (m * k) (m*k + k) f) = sumc 0 (n * k) f" @@ -174,4 +160,3 @@ done end -