equal
deleted
inserted
replaced
750 fixes f :: "nat \<Rightarrow> 'a :: {banach,real_normed_div_algebra}" |
750 fixes f :: "nat \<Rightarrow> 'a :: {banach,real_normed_div_algebra}" |
751 assumes nz: "eventually (\<lambda>n. f n \<noteq> 0) sequentially" |
751 assumes nz: "eventually (\<lambda>n. f n \<noteq> 0) sequentially" |
752 assumes lim: "(\<lambda>n. ereal (norm (f n) / norm (f (Suc n)))) \<longlonglongrightarrow> c" |
752 assumes lim: "(\<lambda>n. ereal (norm (f n) / norm (f (Suc n)))) \<longlonglongrightarrow> c" |
753 shows "conv_radius f = c" |
753 shows "conv_radius f = c" |
754 proof (rule conv_radius_eqI') |
754 proof (rule conv_radius_eqI') |
755 show "c \<ge> 0" by (intro Lim_bounded2_ereal[OF lim]) simp_all |
755 show "c \<ge> 0" by (intro Lim_bounded2[OF lim]) simp_all |
756 next |
756 next |
757 fix r assume r: "0 < r" "ereal r < c" |
757 fix r assume r: "0 < r" "ereal r < c" |
758 let ?l = "liminf (\<lambda>n. ereal (norm (f n * of_real r ^ n) / norm (f (Suc n) * of_real r ^ Suc n)))" |
758 let ?l = "liminf (\<lambda>n. ereal (norm (f n * of_real r ^ n) / norm (f (Suc n) * of_real r ^ Suc n)))" |
759 have "?l = liminf (\<lambda>n. ereal (norm (f n) / (norm (f (Suc n)))) * ereal (inverse r))" |
759 have "?l = liminf (\<lambda>n. ereal (norm (f n) / (norm (f (Suc n)))) * ereal (inverse r))" |
760 using r by (simp add: norm_mult norm_power divide_simps) |
760 using r by (simp add: norm_mult norm_power divide_simps) |