src/HOL/Analysis/Harmonic_Numbers.thy
changeset 72221 98ef41a82b73
parent 71190 8b8f9d3b3fac
child 73016 8644c1efbda2
equal deleted inserted replaced
72220:bb29e4eb938d 72221:98ef41a82b73
   443 
   443 
   444   let ?f = "\<lambda>k. 2 * y ^ (2*k+1) / of_nat (2*k+1)"
   444   let ?f = "\<lambda>k. 2 * y ^ (2*k+1) / of_nat (2*k+1)"
   445   note sums = ln_series_quadratic[OF x(1)]
   445   note sums = ln_series_quadratic[OF x(1)]
   446   define c where "c = inverse (2*y^(2*n+1))"
   446   define c where "c = inverse (2*y^(2*n+1))"
   447   let ?d = "c * (ln x - (\<Sum>k<n. ?f k))"
   447   let ?d = "c * (ln x - (\<Sum>k<n. ?f k))"
   448   have "\<forall>k. y\<^sup>2^k / of_nat (2*(k+n)+1) \<le> y\<^sup>2 ^ k / of_nat (2*n+1)"
   448   have "\<And>k. y\<^sup>2^k / of_nat (2*(k+n)+1) \<le> y\<^sup>2 ^ k / of_nat (2*n+1)"
   449     by (intro allI divide_left_mono mult_right_mono mult_pos_pos zero_le_power[of "y^2"]) simp_all
   449     by (intro divide_left_mono mult_right_mono mult_pos_pos zero_le_power[of "y^2"]) simp_all
   450   moreover {
   450   moreover {
   451     have "(\<lambda>k. ?f (k + n)) sums (ln x - (\<Sum>k<n. ?f k))"
   451     have "(\<lambda>k. ?f (k + n)) sums (ln x - (\<Sum>k<n. ?f k))"
   452       using sums_split_initial_segment[OF sums] by (simp add: y_def)
   452       using sums_split_initial_segment[OF sums] by (simp add: y_def)
   453     hence "(\<lambda>k. c * ?f (k + n)) sums ?d" by (rule sums_mult)
   453     hence "(\<lambda>k. c * ?f (k + n)) sums ?d" by (rule sums_mult)
   454     also have "(\<lambda>k. c * (2*y^(2*(k+n)+1) / of_nat (2*(k+n)+1))) =
   454     also have "(\<lambda>k. c * (2*y^(2*(k+n)+1) / of_nat (2*(k+n)+1))) =