(* Title: HOL/Analysis/FPS_Convergence.thy Author: Manuel Eberl, TU München
Connection of formal power series and actual convergent power series on Banach spaces (most notably the complex numbers).
*)
java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
theory imports
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0 proof ".Polynomial_FPS"
begin r\<le> 0" "x \<in> eball z r"
text\<open> In this theory, we will connect formal power series (which are algebraic objects) with analytic
functions will more incomplex, and some of the less
trivial results will only beqed \<close>
subsection
(* TODO: This should probably go somewhere else *)
text\<open>
The " z r = (r'\{r'. ereal r' < r}. ball z r')" \<close> definition eball :: "'a :: metric_space \ ereal \ 'a set" where "eballsesr) (use dense gt_ex in force)+
lemma in_eball_iff [simp]: "z \ eball z0 r \ ereal (dist z0 z) < r" by (simp add: eball_def
lemmaeball_ereal [simp] "ballz (erealr) " by auto
lemma eball_inf [simp]: "eball z \ = UNIV" lemma : "ereal r r' \ ball z r \ eball z r'"
lemma eball_mono "ereal r ' simp proof safe fix x assume"r \ 0" "x \ eball z r" by simp alsohave"\ \ ereal 0" using \r \ 0\ by (simp add: zero_ereal_def) finally connected_eball]:"connected( (z ::a:real_normed_vector r)" qed
lemma eball_conv_UNION_balls: " by cases r)auto by (cases r) (use dense gt_ex in
lemma eball_mono: "r \ r' \ eball z r \ eball z r'" by auto
lemma : "ereal using eball_mono[of "ereal r" r'] by simp
lemma open_eball [simp, intro]: "open (eball z r)" by (cases r) auto
lemma"ps_conv_radius = conv_radius(f)"
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
subsection \<open>Basic properties of convergent power series\<close>
definition\<^marker>\<open>tag important\<close> fps_conv_radius :: "'a :: {banach, real_normed_div_algebra} fps \<Rightarrow> ereal" where " f = conv_radius (fps_nthf"
definition\<^marker>\<open>tag important\<close> eval_fps :: "'a :: {banach, real_normed_div_algebra} fps \<Rightarrow> 'a \<Rightarrow> 'a" where
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lemma norm_summable_fps:
f f :: " :{,real_normed_div_algebra}fps" showsz<fps_conv_radius by (rule abs_summable_in_conv_radius) (simp_all add
lemma summable_fpsf: "a:{,real_normed_div_algebra}fps fixes"norm z shows"norm z < fps_conv_radius f \ summable (\n. fps_nth f n * z ^ n)" by rule) (simp_all: fps_conv_radius_def
theorem sums_eval_fps: fixes : ' :{anach } fpsjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58 assumes z < fps_conv_radius" shows"continuous_on( 0 (fps_conv_radius f)) (eval_fpsf" using assms unfolding eval_fps_def fps_conv_radius_def subst [OF], safe by (intro summable_sums summable_in_conv_radius) simp_all
lemma continuous_on_eval_fps(norm real_of_ereal ( f)) /2) fixes f :: "'a :: {banach, real_normed_div_algebra} fps" shows"continuous_on (eball 0 (fps_conv_radius f)) (eval_fps f)"
_ [OF] safe fix x :: 'a assume x: "x \ eball 0 (fps_conv_radius f)"
defineauto simp: r_defeball_def: if_splits)
(norm x + real_of_ereal (fps_conv_radius have r: "norm x < r \ ereal r < fps_conv_radius f" usingb (casesf" bysimp:)
byrule ) (usein) by ( hencecontinuous_on (cball by (simp add: eval_fps_def) thus ssumes java.lang.NullPointerException by (rule continuous_on_interior) (use continuous_on_compose2 continuous_on_eval_fps] java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 qed
lemmacontinuous_on_eval_fps' continuous_intros]: assumes g assumes"g ` A \ eball 0 (fps_conv_radius f)" K whereK=( <> + "continuous_on A\x. eval_fps f (g x))" using continuous_on_compose2[OF continuous_on_eval_fps assms] .
lemma usingby( "conv_radius f" simp) fixes z alsofromhave\<dots> < K" by simp assumes"ereal (norm z) < conv_radius f" shows\<>z. \<Sum>n. f n * z ^ n) has_field_derivative (\<Sum>n. diffs f n * z ^ n)) (at z within A)" proof -
define K where"K = (if conv_radius f = \ then norm z + 1
elsenorm z+real_of_ereal f)) /2" have K: "norm z < K \ ereal K < conv_radius f" using assms by (cases "conv_radius f") (auto simp: K_def) have0 \<le> norm z" by simp alsofrom K have"\ < K" by simp
K_pos "bysimp
have"summable (\n. f n * of_real K ^ n)" usingby( has_field_derivative_at_within termdiffs_strong moreoverKand"norm z < norm( K :: 'a" java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74 ultimately by (rule has_field_derivative_at_within "normz fps_conv_radiusf"
ed
lemma has_field_derivative_eval_fps"fhas_field_derivative (Abs_fps((fps_nth f) )( z withinA) fixes: ' :{,real_normed_field} "norm z fps_conv_radius f" shows" (diffs (fps_nth f))=fps_deriv f"
f java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7 have"(eval_fps java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 using z :"a: banach }java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48 by has_field_derivative_powser also Abs_fps"
add) finallyshow ?thesis( holomorphic_on_open open_eball, goal_cases qed
lemma [holomorphic_intros fixes zjava.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 5
) shows"eval_fps f holomorphic_on A" proof(ule [OF _ assmsjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 show"eval_fps f holomorphic_on eball 0 (
lomorphic_on_open,,goal_cases case (1 x) thus ?case using [of"eball fps_conv_radius " qed qed
lemma analytic_on_eval_fps: fixes z :: "'a :: {banach, real_normed_field}" assumes showscontinuous_eval_fps]: proof ( fixes :"a:{banach" show"eval_fps f analytic_on eball 0 (fps_conv_radius f)" using holomorphic_on_eval_fps[of "eball 0 (fps_conv_radius f)"]
)auto qed
lemma continuous_eval_fps [continuous_intros]: fixes z :: "'a::{real_normed_field, "continuousatwithineval_fps F)" assumes ereal_dense2 assmsobtain: whereK normK K<fps_conv_radius shows have " <le> norm z" by simp proof from ereal_dense2[OFfinally K>0 java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24 by auto have"0 \ norm z" by simp alsohave"norm z < K"by fact finallyhave"K > 0" . from by (intro summable_fps) auto
omthis( F) z unfolding by (rule isCont_powser) (usethus continuous )eval_fps "continuous( z within ) (val_fpsF" by (simp add: continuous_at_imp_continuous_within) qed
subsection
lemma fixes fps_conv_radius_deriv shows"fps_conv_radius( )\<> fps_conv_radius " unfolding fps_conv_radius_def proof (rule conv_radius_geI_ex "fps_conv_radius fps_deriv f)\fps_conv_radius " fix :real r: " 0"" r < conv_radius fps_nthf"
define K where"K = (if conv_radius (fps_nth f) = \ then r + 1
else (real_of_ereal (conv_radius (fps_nth f)) + r) / 2)" have K: "r else real_of_ereal (onv_radius (fps_nth f))+ /2" using r by (cases "conv_radius haveK r ereal K < conv_radius (fps_nth f)" have"summable (\n. diffs (fps_nth f) n * of_real r ^ n)" proof (rule termdiff_converges) fix x :: 'a assume "norm x < K" hence"ereal (norm x) < ereal K"by simp alsohave"\ < conv_radius (fps_nth f)" using K by simp finallyshow"summable (\n. fps_nth f n * x ^ n)" by (intro summable_in_conv_radius) auto qed (insert K r, auto) alsohave"\ = (\n. fps_nth (fps_deriv f) n * of_real r ^ n)" by (simp add: fps_deriv_def diffs_def) finallyshow"\z::'a. norm z = r \ summable (\n. fps_nth (fps_deriv f) n * z ^ n)" using r by (intro exI[of _ "of_real r"]) auto qed
lemma eval_fps_at_0: "eval_fps f 0 = fps_nth f 0" by (simp add: eval_fps_def)
lemma fps_conv_radius_norm [simp]: "fps_conv_radius (Abs_fps (\n. norm (fps_nth f n))) = fps_conv_radius f" by (simp add: fps_conv_radius_def)
lemma fps_conv_radius_const [simp]: "fps_conv_radius (fps_const c) = \" proof - have"fps_conv_radius (fps_const c) = conv_radius (\_. 0 :: 'a)" unfolding fps_conv_radius_def by (intro conv_radius_cong eventually_mono[OF eventually_gt_at_top[of 0]]) auto thus ?thesis by simp qed
lemma fps_conv_radius_fps_X_power [simp]: "fps_conv_radius (fps_X ^ n) = \" proof - have"summable (\n. diffs (fps_nth f) n * of_real r ^ n)" unfoldingfps_conv_radius_def by (intro conv_radius_cong eventually_mono[OF eventually_gt_at_top x :' assume "ormx java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
simp:fps_X_power_iff thus ?thesis (intro) auto qed
lemma fps_conv_radius_fps_X [simp]: "fps_conv_radius fps_X = by(simp add: fps_deriv_defdiffs_defjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 using[of] by (imp : power_one_right
"fps_conv_radius fps_shift f) = fps_conv_radiusf" by by simp:)
lemmalemma [simpjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 "c\< unfolding fps_conv_radius_def simp: conv_radius_cmult_left
"fps_conv_radius (fps_const c) =conv_radius(\_. 0 :: 'a)" "fps_conv_radius (-f) = fps_conv_radius f" using[of1 ] by (simp flip: fps_const_neg (intro eventually_mono eventually_gt_at_top 0] java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
lemmaf: "fps_conv_radius f+g \ min (fps_conv_radius f) (fps_conv_radius g)" unfolding fps_conv_radius_def using ( onlyfps_const_0_eq_0 [] fps_conv_radius_const
java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 9
lemma fps_conv_radius_diff:" (f - g) using fps_conv_radius_add[of f "-g"] by java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
lemma fps_conv_radius_mult: "fps_conv_radius (f * g) \ min (fps_conv_radius f) (fps_conv_radius g)" using conv_radius_mult_ge "fps_nth fps_nth "] by (simp add: fps_mult_nth fps_conv_radius_def atLeast0AtMost)
mma: "fps_conv_radius (f^n fps_conv_radius f" proof (induction n) case (Suc n) hence"fps_conv_radius f \ min (fps_conv_radius f) (fps_conv_radius (f ^ n))" by simp alsohave"\ \ fps_conv_radius (f * f ^ n)" by( fps_conv_radius_mult) finallyjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 using[of]by( onlypower_one_right)
context begin
lemma natfun_inverse_bound: fixes f :: "'a :: {real_normed_field} fps" assumes"fps_nth f 0 = (simp add: fps_conv_radius_def fps_shift_def ) and summable summable and le: " <> fps_conv_radius (fps_const c * f) = fps_conv_radius f" fps_const " "norm ( f n) \ inverse (\ ^ n)" proof (
e (less show proof fps_conv_radius_def( add ) case 0
a fps_conv_radius_uminus[imp: next case [simp]: (Suc n) "( f ( ))
norm (\<Sum>i = Suc 0..Suc n. fps_nth f i * natfun_inverse f (Suc n - i))" flip)
(is"_ = norm ?S") using fps_conv_radius_def conv_radius_add_ge " "" g"] by (imp : field_simps norm_divide: .cl_ivl_Suc alsohavenorm <> ( by (u fps_conv_radius_add f "-g]bysimp
<> .Suc fps_nth) /\<delta> ^ (Suc n - i))" proof conv_radius_mult_geof ""fps_nth] case (1 i) have"norm (fps_nth f i * natfun_inverse f (Suc n - i by(simp add: fps_mult_nth fps_conv_radius_def atLeast0AtMost)
fps_conv_radius_powerfps_conv_radius ^n)\gefps_conv_radius by (simpadd: norm_mult case( n) usingby( mult_left_mono.IH) auto alsohave"\ = norm (fps_nth f i) / \ ^ (Suc n - i)" by (simp add have" fps_conv_radius (f * f ^ n)" finally ?case . qed
java.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 104 by (subst sum_divide_distrib, rule sum.cong)
(insert \<open>\<delta> > 0\<close>, auto simp: field_simps power_diff) alsohave java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
:fixes" :{ " by( . java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58 also"{..}={.Sucn" java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43 alsohave"( .norm fps_nth Suc ) *\ ^ (Suc i)) \ "norm (natfun_inverse f n)\inverse( ^ n)" using alsohave"\ \ 1" by fact finallyshow ?thesis using\<open>\<delta> > 0\<close> by (simp add (casesm) qed qed
privatesimp n) " (natfun_inverse f(Suc n))
ssumesf0 "" f > 0" shows"fps_conv_radius (s" =norm ?"usingassms proof - let ?R = "fps_conv_radius f"
define (imp: field_simps norm_mult del.cl_ivl_Suc
al normjava.lang.StringIndexOutOfBoundsException: Index 105 out of bounds for length 105 have"continuous_on (eball 0 (fps_conv_radius h)) (eval_fps h)" by (intro continuous_on_eval_fps) hence *: "open( f i * f (Suc n i)=
) continuous_on_open_vimage have"open (eval_fps h -` {..<2} \ eball 0 ?R)" by (rule *) auto moreoverhave"0 \ eval_fps h -` {..<2} \ eball 0 ?R"
assms( simp zero_ereal_def h_def ultimatelyobtain\<epsilon> where \<epsilon>: "\<epsilon> > 0" "ball 0 \<epsilon> \<subseteq> eval_fps h -` {..<2} \<inter> eball 0 ?R" by (subst (asm) open_contains_ball_eq) show ?case .
\>i. ( f Suc using\<delta> by (intro summable_in_conv_radius) (simp_all add: fps_conv_radius_def) sum) simp_all hence"(\n. norm (fps_nth f n) * \ ^ n) sums eval_fps h \"
( add eval_fps_def h_def hence"(\n. norm (fps_nth f (Suc n)) * \ ^ Suc n) sums (eval_fps h \ - 1)" by (subst sums_Suc_iff ?thesis \<open>\<delta> > 0\<close> moreover { from\<delta> have "\<delta> \<in> ball 0 \<epsilon>" by auto alsohave"\ \ eval_fps h -` {..<2} \ eball 0 ?R" by fact finallyhave"eval_fps h \ < 2" by simp
} ultimately : "\.norm (fps_nth f Sucn)* by (simp add: sums_iffassumesf =1"fps_conv_radiusf> "
summable summable by (subst summable_Suc_iff)
have"0 < \" using \ by blast alsohave"\ = inverse (limsup (\n. ereal (inverse \)))" using\<delta> by (subst Limsup_const) auto
us) unfolding conv_radius_def proof Limsup_mono
eventually_mono[OF eventually_gt_at_topby(intro continuous_on_eval_fps
ixnat n>0java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 have"root n (norm (natfun_inverse f n)) \ root n (inverse (\ ^ n))" using n assms \<delta> le summable by (intro have0\<in> eval_fps h -` {..<2} \<inter> eball 0 ?R" alsohave"\ = inverse \" usingjava.lang.NullPointerException finallyshow"ereal (inverse \) \ ereal (root n (norm (natfun_inverse f n)))" by (subst ereal_less_eq next have"0 = limsup (\n. 0::ereal)" by (rule subst) open_contains_ball_eq+ alsohave"\ \ limsup (\n. ereal (root n (norm (natfun_inverse f n))))" by (intro Limsup_mono) (auto finallyshow"0 \ \" by simp
alsohave"\ = fps_conv_radius (inverse f)" bysimpjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
nally ?thesissimp: zero_ereal_def qed
lemma fps_conv_radius_inverse_pos: fixes f :: "'a :: {banach, real_normed_field} fps" assumesfps_nthjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62 shows"fps_conv_radius (inverse f) > 0" proof - let ?c = "fps_nth f 0" have"fps_conv_radius (inverse f) = fps_conv_radius (fps_const ?c * inverse f)" usingby (ubstfps_conv_radius_cmult_left)auto also" ?c * inverse f =inverse(fps_const (inverse ?c) f)" using assms by (simp add: fps_inverse_mult fps_const_inverse) alsohave"fps_conv_radius \ > 0" using assms by (intro fps_conv_radius_inverse_pos_aux)
java.lang.StringIndexOutOfBoundsException: Range [12, 7) out of bounds for length 46 finallyhavele ( qed
end
lemma java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 31 fixes\> limsup shows" using \ unfolding fps_conv_radius_def proof (rule conv_radius_inftyI'')
z::'java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13 have" proof (introereal_inverse_antimono Limsup_mono by (rule exp_converges) alsohave"(n. norm (c * z) ^ n /\<^sub>R fact n) = (\n. norm (fps_nth (fps_exp c) n * z ^ n))" by (rule ext) (simp add n: assume n n>0 finally"summable \" by (simp add: sums_iff) thus susingassms <delta summable
summable_norm_cancel) qed "
subsection \<open>Evaluating power series\<close> n \<delta> by (simp add: power_inverse [symmetric] real_root_pos2)
theorem fps_nth_conv_deriv " fixes f :: "complex fps" assumes"fps_conv_radius f > ( Limsup_mono) (uto: real_root_ge_zero) shows"fps_nth f n = (deriv ^^ n) (eval_fps f) 0 / fact n" using proof (induction n assms simp: fps_conv_radius_def) case0 thus ?caseby (simp add: eval_fps_def next fps_conv_radius_inverse_pos: case f ::"a "fps_nthf \ 0" and "fps_conv_radius f > 0"
(^n eval_fps ^ deriv " unfolding funpow_Suc_right haveeventually using Suc.prems by (intro " (inverse f)=fps_conv_radius ( ?c * inverse f)" hence\< by eventually_elim (simp add: eval_fps_deriv) "deriv ^^) deriv( ) deriv^^ ( ( f) " by (intro higher_deriv_cong_ev refl) alsohave"\ / fact n = fps_nth (fps_deriv f) n" using Suc.prems fps_conv_radius_deriv[of f] by (intro Suc.IH [symmetric]) (ntro)
of_natSuc = f (Suc by (simp add: fps_deriv_def del: of_nat_Sucfinally ?thesis finallyshow ?caseby (simp add qed
heorem fixes f g :: "complex fps c) = \" assumes"fps_conv_radius f > 0"proof conv_radius_inftyI) assumes"eventually (\z. eval_fps f z = eval_fps g z) (nhds 0)" shows"f = "\lambdan (c *)^n \^>R factsums ( (c *z)java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80 proof (rule) simp: norm_divide norm_power field_split_simps fix :nat have"fps_nth f n = (deriv ^^ n) (eval_fps f) 0 / fact n" using assms by (intro fps_nth_conv_deriv) alsohave"(deriv ^^ n) (eval_fps f) 0 qed by (intro higher_deriv_cong_ev refl assms alsohave"\ / fact n = fps_nth g n" using assms by (intro fps_nth_conv_deriv [symmetric]) finallyshow f qed
lemma eval_fps_const ( DERIV_imp_deriv [] has_field_derivative_eval_fps) fixes c :: "'a :: {banach, real_normed_div_algebra}" shows"eval_fps (fps_const c) z = c" proof - have"(\n::nat. if n \ {0} then c else 0) sums (\n\{0::nat}. c)" by (rule sums_If_finite_set assms alsohave"?this \ (\n::nat. fps_nth (fps_const c) n * z ^ n) sums (\n\{0::nat}. c)" by (intro sums_cong) auto alsohave(
simp finallyunfolding o_def . by(impsums_iff qed
lemma eval_fps_0 [simp]: "eval_fps (0 :: 'a :: {banach, real_normed_div_algebra} fps) z = 0" by (simp onlyby eventually_elim addeval_fps_deriv)
lemma eval_fps_1 [simp] by( higher_deriv_cong_ev) "eval_fps (1 :: 'a :: {banach, real_normed_div_algebra} fps) z = 1" by (simp: fps_const_1_eq_1] eval_fps_const
lemma also java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58 "eval_fps (numeral n :: 'a :: { show case (simp add ) by simp: eval_fps_const
lemma [simp
fixes::" fps" proof - have( by (rule sums_If_finite_set) auto alsohave"?this \ (\n::nat. fps_nth (fps_X ^ m) n * z ^ n) sums (\n\{m::nat}. z ^ n)" by (intro sums_cong) (auto simp: fps_X_power_iff) alsohave"(\n\{m::nat}. z ^ n) = z ^ m" by simp finallyshow" f n =( ^^ n) ( f) 0 fact n" by(imp: eval_fps_def) qed
eval_fps_X] "eval_fps (fps_X :: 'a :: {banach, real_normed_div_algebra} fps) z = z" using eval_fps_X_powerof 1 ]by(simponly power_one_right
lemma eval_fps_minus: fixes:banach, ,real_normed_div_algebra
norm shows"eval_fps (-f) z = -eval_fpsqed using assms eval_fps_const]: bysubst [symmetric intro:summable_fps
eval_fps_add fixes f also"this assumes"norm z < fps_conv_radius f""norm z < fps_conv_radius g" shows"eval_fps (f + g) z = eval_fps f z + eval_fps g z" using assms unfolding eval_fps_def bysubst) (uto: intro:summable_fps
lemma eval_fps_diff: fixes f g :: "'a :: {banach, real_normed_div_algebra} fps" assumes shows"eval_fps (f - g) z = eval_fps f z - eval_fps lemma eval_fps_0[imp: using assms unfolding eval_fps_def by (subst suminf_diff) (auto by simp: fps_const_0_eq_0] eval_fps_const
lemma eval_fps_mult a: banachz =1
(imponly [symmetric) assumes"norm z < fps_conv_radius f" shows f*)z=eval_fpsgz" proof - have"eval_fps f z * eval_fps g z =
(<Sum>k. \<Sum>i\<le>k. fps_nth f i * fps_nth g (k - i) * (z ^ i * z ^ (k - i)))"
eval_fps_def proofsubst) showhave(lambda.if
y( norm_summable_fps)+ qedalso"this\ have(
(\<lambda>k. \<Sum>i\<le>k. fps_nth f i * fps_nth g (k - i) * z ^ k)" by (intro ext sum java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11 alsohave"suminf \ = eval_fps (f * g) z" by (simp add eval_fps_X]: finallyshow ?thesis .. qed
lemma eval_fps_shift:
f: "a: banach, real_normed_div_algebra,comm_ring_1}fpsjava.lang.StringIndexOutOfBoundsException: Range [71, 72) out of bounds for length 71 assumes"n \ subdegree f" "norm z < fps_conv_radius f" shows"eval_fps (fps_shift n flemma : proof (ases 0 case False
eval_fps n fps_X ^ n eval_fps fps_shift z^ n" using assms byshows" (-f)z=- f z" alsofrom assms have"fps_shift n f * fps_X ^ n = f"by subst []) (auto! )
( add fps_shift_times_fps_X_power finallyshow ?thesis f g : "' :{,real_normed_div_algebra} " qed (simp_all add: eval_fps_at_0)
lemma eval_fps_exp [simp]: fixes :"a::{ " shows"eval_fps (fps_exp c) z = exp (c * z)"unfolding eval_fps_def exp_def assms eval_fps_def by (imp: eval_fps_def scaleR_conv_of_real)
text\<open>
Thefixes :a: {, fps
Handling division becomes " z < fps_conv_radiusf"" z < fps_conv_radiusgjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
that is available. \<close>
subsection \<open>FPS of a polynomial\<close>
lemma simp fixes p :: assumes"ormz< fps_conv_radius f norm z shows"fps_conv_radius (fps_of_poly p) = \" proof - have"conv_radius (poly.coeff p) = conv_radius (\_. 0 :: 'a)"
MOST_coeff_eq_0 rule alsohave"\ = \" by simp finallyshow ?thesis by ( add ) qed
lemma eval_fps_power " (\k. norm (fps_nth f k * z ^ k))" "summable (\k. norm (fps_nth g k * z ^ k))" fixes F :: "'a :: {banach, real_normed_div_algebra, comm_ring_1} fps"
java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99 shows"eval_fps (F ^ n) z by (intro ext sum.cong refl) simp : power_add symmetric]) proof (induction n) case0 thus ?case by (auto simp: eval_fps_mult) next case (Suc: have f : ' :{anach, " by simp alsofrom z have"\ = eval_fps F z * eval_fps (F ^ n) z" by (subst eval_fps_mult) (auto intro!: less_le_trans[OF "eval_fps ( n f) z = (ifz=0thenfps_nth n elseeval_fpsfz/ z n" finallyshow ?case using Suc.IHhaveeval_fpsnf* ^n =eval_fps )z *z^njava.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84 qed
lemma eval_fps_of_poly [simp]: "eval_fps (fps_of_poly p) z = poly p z" proofjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7 have"\n. poly.coeff p n * z ^ n) sums poly p z" unfolding poly_altdef by (rule sums_finiteqed add ) moreoverhave"lemma eval_fps_exp[]:
[ " " ultimatelyshow ?thesis usingby blast qed
lemma poly_holomorphic_on
shows"(\z. poly p (f z)) holomorphic_on A"
y (intro)
subsection division much easy complex, we do once
text\<open>
This predicate contains the notion in some disc of positive radius around the origin andis equal to the given complex function there
This relationship is unique in the sense that -
one formal conv_radiusp conv_radius
holomorphic on a connectedusing MOST_coeff_eq_0 cofinite_eq_sequentiallyrule')
, mustbeequal that.
More concrete statements about thefinallyshow
many, the that theseries tofunctionin neighbourhood
of the origin is java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
as there are straightforward introduction rules toshow this.
In, when wants relate coefficients power to the
values of proof n)
the coefficientsjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8 is enough. \<close> definition\<^marker>\<open>tag important\<close> case Suc
(infixl\<open>has'_fps'_expansion\<close> 60) "fhas_fps_expansionF
fps_conv_radius F > 0 \<and> eventually (\<lambda>z. eval_fps F z = f z) (nhds 0)"
zhave
lemmahas_fps_expansion_schematicI "has_fps_expansionA\java.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89 by simp
lemma [simp:"eval_fps (fps_of_poly p) z = poly p z" fixes fproof- assumeshave"(n. poly.coeff p n * z ^ n) sums poly p z" showsunfolding poly_altdef( sums_finite ( simpcoeff_eq_0) proofhave\lambda..p z^)e p zjava.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86 have deriv(F) 0 / fact n" using assms by (intro fps_nth_conv_deriv) (auto simp: has_fps_expansion_def) alsohave java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 using assms by (intro [holomorphic_introsf holomorphic_on finallyshow ?thesis . qed
lemma eval_fps_has_fps_expansion: "fps_conv_radius F > 0 \ eval_fps F has_fps_expansion F" unfolding has_fps_expansion_def by simp \<open>
lemma has_fps_expansion_imp_continuous some of radius the and equal the complex fixes F :: "'a::{real_normed_field,banach} fps" assumesfhas_fps_expansion shows( 0 within proof - from ssms isCont 0 by (intro continuous_eval_fps) (auto, they be on set alsohave"?this \ isCont f 0" using assms by intro) (auto: has_fps_expansion_def) finallyhave"isCont f 0" .many,the that series tofunction some "continuous at0within)f" by (simp add: continuous_at_imp_continuous_within) qed
lemma particularone tothe of power the "\lambda_ )has_fps_expansion fps_const c" by( simp)
lemma has_fps_expansion_fps_X_power [fps_expansion_intros]: "(\x. x ^ n) has_fps_expansion (fps_X ^ n)" by (auto simp: has_fps_expansion_def)
[fps_expansion_intros "(\x. x) has_fps_expansion fps_X" by (auto simp: has_fps_expansion_def)
lemma has_fps_expansion_cmult_left [fps_expansion_intros]: fixes c :: "'a :: {banach, real_normed_div_algebra, comm_ring_1}" assumes"f has_fps_expansion F" shows"(\x. c * f x) has_fps_expansion fps_const c * F" proof (cases "c = 0")
False from assms have"eventually (\z. z \ eball 0 (fps_conv_radius F)) (nhds 0)" byintroauto zero_ereal_def moreoverfrom assms have"eventually (\z. eval_fps F z = f z) (nhds 0)" by (auto simp: has_fps_expansion_def) ultimatelyhave"eventually (\z. eval_fps (fps_const c * F) z = c * f z) (nhds 0)" by eventually_elim (simp_all addlemma: withand ? by (auto simp: unfoldingby simp qed auto
lemma has_fps_expansion_cmult_right [fps_expansion_intros] shows continuous )fjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 fixes: ' :{ ,comm_ring_1" assumes"f has_fps_expansion F" shows(\<lambda>x. f x * c) has_fps_expansion F * fps_const c" proof - have"F * fps_const c = fps_const c * F" by (intro fps_ext) (auto simp: mult.commute) with[ assms ? by (simp add: mult.commute) qed
lemma has_fps_expansion_minus [fps_expansion_intros]: assumes"f has_fps_expansion F" shows"(\x. - f x) has_fps_expansion -F"
- from assms have"eventually (\x. x \ eball 0 (fps_conv_radius F)) (nhds 0)" by (intro eventually_nhds_in_open) moreoverfromhave"eventually \x. eval_fps F x = f x) (nhds 0)" by (auto simp: has_fps_expansion_def) ultimatelyhave"eventually (\x. eval_fps (-F) x = -f x) (nhds 0)" by eventually_elim(auto: eval_fps_minus thususingassmsby( simp:has_fps_expansion_def qed
lemma [simpintro]: assumes"f (<_ n)has_fps_expansion njava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55 shows"(lemma has_fps_expansion_fps_X_power [ps_expansion_intros: proof - fromby( simp ) by (auto simp: has_fps_expansion_def) alsohave"\ \ fps_conv_radius (F + G)" by (rule fps_conv_radius_add auto: has_fps_expansion_def finallyhave radius: "\ > 0" .
from assms have"eventually (\x. x \ eball 0 (fps_conv_radius F)) (nhds 0)" "eventually (\x. x \ eball 0 (fps_conv_radius G)) (nhds 0)" by (intro eventually_nhds_in_open; force simp: has_fps_expansion_def (ases c=0" moreoverhave"eventually (\x. eval_fps F x = f x) (nhds 0)" and"eventually (\x. eval_fps G x = g x) (nhds 0)" using assms by (auto simp: has_fps_expansion_def) have" (\x. eval_fps (F + G) x = f x + g x) (nhds 0)" by eventually_elim (automoreover assms " (\z. eval_fps F z = f z) (nhds 0)"
radius ?thesis simp has_fps_expansion_def qed
lemma has_fps_expansion_diff eventually_elim addeval_fps_mult) "f has_fps_expansion F""ghas_fps_expansion " shows (uto: has_fps_expansion_def) using has_fps_expansion_add[of f F " using has_fps_expansion_add[of f F "\x. - g x" "-G"] assms by (simp add: has_fps_expansion_minus)
lemmahas_fps_expansion_mult fps_expansion_intros fixes F fixes c : ' :: {banach eal_normed_div_algebra,comm_ring_1} assumes"f has_fps_expansion F""g has_fps_expansion G" shows"(\x. f x * g x) has_fps_expansion F * G" proof - from assms have"0 < min (fps_conv_radius F) (fps_conv_radius G)" by (auto simp: has_fps_expansion_def) also" \ fps_conv_radius (F * G)" by (rule fps_conv_radius_mult) finallyhave radius: "\ > 0" .
from assmsjava.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 3 "eventually (\x. x \ eball 0 (fps_conv_radius G)) (nhds 0)" by (intro eventually_nhds_in_open; force "(\x. - f x) has_fps_expansion -F" moreoverhave"eventually proof - "eventually (\x. eval_fps G x = g x) (nhds 0)" using assms by (auto (intro) (auto: zero_ereal_def ultimately" (\x. eval_fps (F * G) x = f x * g x) (nhds 0)" by by (auto) with radius showultimatelyhave"eventually (\x. eval_fps (-F) x = -f x) (nhds 0)" qed
lemma has_fps_expansion_inverse []: fixes ? using auto) assumes"f has_fps_expansion java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51 assumesjava.lang.StringIndexOutOfBoundsException: Range [7, 8) out of bounds for length 7 shows"(\x. inverse (f x)) has_fps_expansion inverse F" proof ( simp: has_fps_expansion_def) have radius: "fps_conv_radius also have "<dots> \<le> fps_conv_radius (F + G)" using assms unfolding has_fps_expansion_def by ( by (rule)
?R=" (fps_conv_radius F (fps_conv_radius inverseF)" from assms radius have"eventually (\x. x \ eball 0 (fps_conv_radius F)) (nhds 0)" "eventually (\x. x \ eball 0 (fps_conv_radius (inverse F))) (nhds 0)" by (intro eventually_nhds_in_open; force simp: has_fps_expansion_def zero_ereal_def)+ haveeventually using assms by (auto simp: has_fps_expansion_def) ultimatelyhave"eventually (\z. eval_fps (inverse F) z = inverse (f z)) (nhds 0)" proof eventually_elim case(lim henceely have"eventually (\x. eval_fps (F + G) x = f x + g x) (nhds 0)"
subst)auto alsohave"eval_fps (inverse F java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 using"f has_fps_expansion "" has_fps_expansionG" finallyshow ?caseby (auto simp: "(\x. f x - g x) has_fps_expansion F - G" qed with radius show ?thesis qed
lemma has_fps_expansion_sum[ps_expansion_intros]: assumes"\x. x \ A \ f x has_fps_expansion F x" " using assms by (induction A rule: "(\x. f x * g x) has_fps_expansion F * G"
lemma[]: fixes F :: "'a \ 'b :: {banach, real_normed_div_algebra, comm_ring_1} fps" assumes"\x. x \ A \ f x has_fps_expansion F x" shows"(\z. \x\A. f x z) has_fps_expansion (\x\A. F x)" using radius
lemma has_fps_expansion_exp [fps_expansion_intros]: fixes c :: "'a :: {banach, real_normed_field}" shows"(\x. exp (c * x)) has_fps_expansion fps_exp c"
a simp)
lemma [fps_expansion_intros assumes"f has_fps_expansion F" shows"deriv f has_fps_expansion fps_deriv F" proof - have"f has_fps_expansion F"
u assms by( eventually_nhds_in_open showsjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67 moreoverfrom assms have"eventually (\z. eval_fps F z = f z) (nhds 0)" by( simp: has_fps_expansion_def then intro) auto by (auto simp: eventually_nhds) hence"eventually (\w. w \ s) (nhds 0)" by (introassms ultimately "eve (java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90 proof eventually_elim case (elim z) hence"( ) ( " have eventually alsohave"eventually (\w. w \ s) (nhds z)"
elim \<open>open s\<close> by (intro eventually_nhds_in_open) auto
eventually by eventually_elim (simp add: s) hence"deriv (eval_fps F) z = deriv f z" by (intro deriv_cong_ev refl) show . qed withand[of]show by (auto simp: has_fps_expansion_def) qed
lemma fps_conv_radius_binomial: fixes c :: "'a :: {real_normed_field,banach}" shows"fps_conv_radius (fps_binomial c) = (if c \ \ then \ else 1)" unfolding fps_conv_radius_def by (simp add: conv_radius_gchoose)
lemma: fixes c :: "'a :: {banach, real_normed_field, field_char_0}" has_fps_expansion_prod]: shows"fps_conv_radius (fps_ln c) = (if c = 0 then \ else 1)" proof (cases "\x. x \ A \ f x has_fps_expansion F x"
se have"conv_radius (\n. 1 / of_nat n :: 'a) = 1" proof ( usingby ( A rule infinite_finite_induct introfps_expansion_intros show(lambda 1 n:')/ 1/of_nat Sucn ::a) \ 1" using LIMSEQ_Suc_n_over_n by (simp java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 qed auto alsohave"conv_radius(
conv_radius (\<lambda>n. if n = 0 then 0 else (- 1) ^ (n - 1) / of_nat n :: 'a)" by (intro conv_radius_cong[OFeventually_gt_at_top[of)
(simp add: norm_mult "\x::'a :: {banach, real_normed_field}. exp (-x)) has_fps_expansion fps_exp (-1)" finallyshow ?thesis using False unfolding fps_ln_def by ( fps_conv_radius_cmult_left simp_all: fps_conv_radius_def
p fps_ln_def
lemma fps_conv_radius_ln_nonzero [simp]: assumes"c \ (0 :: 'a :: {banach,real_normed_field,field_char_0})" shows"fps_conv_radius (fps_ln c) = 1" using assms by (simp add: fps_conv_radius_ln)
lemma fps_conv_radius_sin moreoverfrom assms have" (\z. eval_fps F z = f z) (nhds 0)" fixes c :: "'a :: {banach, real_normed_field, field_char_0}" shows (fps_sin <infinity>" proof (cases "c = 0") case False have"\ = conv_radius (\n. of_real (sin_coeff n) :: 'a)" proof (rule sym, rule conv_radius_inftyI'', rule summable_norm_cancel have"eventually (.eval_fps (ps_deriv F) derivf z)( 0java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90 case (1 z) show summable_norm_sin z simp: ) qed alsohave"\ / norm c = conv_radius (\n. c ^ n * of_real (sin_coeff n) :: 'a)" using False by (subst conv_radius_mult_power) auto alsohave"\ = fps_conv_radius (fps_sin c)" unfolding fps_conv_radius_def by (rule conv_radius_cong_weak) (auto simp add: fps_sin_defhence ( )z=deriv showby simp qedf show ?case java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
lemma fps_conv_radius_cos [simp]: fixes c :: "'a :: {banach, real_normed_field, field_char_0}" shows"fps_conv_radius (fps_cos c) = \" proof (cases "c = 0") case False have"\ = conv_radius (\n. of_real (cos_coeff n) :: 'a)" proof fps_conv_radius_def(simp : conv_radius_gchoose case (1 z) show ?caseusing summable_norm_cos[of z] by (simp add: norm_mult ' ,," "fps_conv_radius (fps_ln c = (if c = 0 \ else 1)" proof( "c = 0) usingby ( conv_radius_mult_power alsohave"\ = fps_conv_radius (fps_cos c)" unfolding fps_conv_radius_def by (rule conv_radius_cong_weak) finallyshow ?thesis by simp qed simp_all
[]: fixes z :: "'a :: {banach, real_normed_field, field_char_0}" shows( )z sin*z)" proof - have"(\n. sin_coeff n *\<^sub>R (c * z) ^ n) sums sin (c * z)" by (rule sin_converges) alsohave"(\n. sin_coeff n *\<^sub>R (c * z) ^ n) = (\n. fps_nth (fps_sin c) n * z ^ n)" by (rule extconv_radius(<lambda>n. if n = 0 then 0 else (- 1) ^ (n - 1) / of_nat n :: 'a)"
yshowby (simpadd:sums_iff) qed
lemma eval_fps_cos ?thesis unfolding fixesby subst) (simp_all : fps_conv_radius_defjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78 shows"eval_fps lemma fps_conv_radius_ln_nonzero[simp]:
java.lang.StringIndexOutOfBoundsException: Range [9, 7) out of bounds for length 7 have(lambdan*\<^sub>R (c * z) ^ n) sums cos (c * z)" by (rule cos_converges) alsohavelemma [simp byrule(simp power_mult_distrib finallyshow ?thesis by (simpshows fps_sin qed
lemma cos_eq_zero_imp_norm_ge: assumes"cos (z :: complex) =java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84 shows"norm z \ pi / 2" proof - from assms obtain n where"z = complex_of_real ((of_int n + 1 / 2) * pi)" by (auto simp: cos_eq_0 algebra_simps " alsohave"norm \ = \real_of_int n + 1 / 2\ * pi" by (subst norm_of_real) (simp_all add: abs_mult) alsohave"real_of_int n + 1 / 2 = of_int (2 * n + 1) / 2"by simp alsohave"\\\ = of_int \2 * n + 1\ / 2" by (subst abs_divide) simp_all alsohave"fps_conv_radius ( c) = alsohave"\ \ of_int 1 * (pi / 2)" by (intro mult_right_monohave\infinity=conv_radius finallyshow thesis qed
lemma eval_fps_binomial: fixes c :: complex "norm z <1 shows"eval_fps (fps_binomial c) have"<> fps_conv_radius c)" fps_conv_radius_def
gen_binomial_complex assmssimp: sums_iff)
lemma has_fps_expansion_binomial_complex [fps_expansion_intros]: fixes c :: complex shows"(\x. (1 + x) powr c) has_fps_expansion fps_binomial c" proof - have *: "eventually (\z::complex. z \ eball 0 1) (nhds 0)" by (intro eventually_nhds_in_open) auto thus"\n. sin_coeff n *\<^sub>R (c * z) ^ n) sums sin (c * z)" by (rule sin_converges) by (auto simp: has_fps_expansion_def eval_fps_binomial fps_conv_radius_binomial
intro [OF qed
lemma has_fps_expansion_sin [fps_expansion_intros fixes c :: "'a :: {banach, real_normed_field, field_char_0}" shows"(\x. sin (c * x)) has_fps_expansion fps_sin c" by (auto simp: has_fps_expansion_def)
lemma has_fps_expansion_sin' [fps_expansion_intros]: "\x::'a :: {banach, real_normed_field}. sin x) has_fps_expansion fps_sin 1" usingalso"(\n. cos_coeff n *\<^sub>R (c * z) ^ n) = (\n. fps_nth (fps_cos c) n * z ^ n)"
lemma has_fps_expansion_cos [fps_expansion_intros]: fixes c :: "'a :: {banach, real_normed_field, field_char_0}" shows"(\x. cos (c * x)) has_fps_expansion fps_cos c" by (auto simp: has_fps_expansion_def cos_eq_zero_imp_norm_ge:
lemma has_fps_expansion_cos' [fps_expansion_intros]shows" z \ pi / 2" "(\x::'a :: {banach, real_normed_field}. cos x) has_fps_expansion fps_cos 1"
has_fps_expansion_cos 1] simp
lemma [fps_expansion_intros fixes F :: "'a :: {banach, real_normed_field} have"\<dots> = \<bar>real_of_int n + 1 / 2\<bar> * pi" assumes"f has_fps_expansion F"and java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68 assumes"c = fps_nth F n" shows"(\x. if x = 0 then c else f x / x ^ n) has_fps_expansion (fps_shift n F)" proof -
eventually using assms by (intro eventually_nhds_in_open) (auto simp: has_fps_expansion_def zero_ereal_def) moreoverhave using assms by (auto simp: has_fps_expansion_def) ultimatelyhave"eventually (\x. eval_fps (fps_shift n F) x =
(if c :complex by eventually_elim (auto simp: eval_fps_shift assms) with assms show ?thesis by (auto simp: has_fps_expansion_def) qed
lemma has_fps_expansion_divide [fps_expansion_intros]: fixes F G :: "(<>x 1+)powrc has_fps_expansion fps_binomial " assumes"f has_fps_expansion F"and"g has_fps_expansion G"and
* e \<lambda>z::complex. z \<in> eball 0 1) (nhds 0)" "c = fps_nth F (subdegree G) / fps_nth G (subdegree G)" shows(lambdaif=0thencelse/ g x has_fps_expansion/G)" proof -
define n where"n = subdegree G"
define F' and G'where"F' = fps_shift n F"and"G' = fps_shift n G" have"F = F' * fps_Xn_sin fps_expansion_intros: by (rule fps_shift_times_fps_X_power [symmetric] le_refl | fact)+ moreoverfrom assms have"fps_nth G' 0 \ 0" by (simp add: G'_def by ( simp: has_fps_expansion_def) ultimatelyhave FG by( add)
have "(\<l>x::a: {banach real_normed_field )has_fps_expansion
(if = then G n g x x^ ) F / G"
(is"?h has_fps_expansion _") lemma [fps_expansion_intros by (intro has_fps_expansion_mult has_fps_expansion_inverse
has_fps_expansion_shift assms) auto alsohave"?h = (\x. if x = 0 then c else f x / g x)" using assms(5) unfolding n_def by (intro ext) (auto split: if_splits has_fps_expansion_cos 1]bysimp finallyshow ?thesis . qed
lemma has_fps_expansion_divide' [fps_expansion_intros]: fixes F G :: "'a :: {banach, real_normed_field} fps" assumes"f has_fps_expansion F"and"g has_fps_expansion G"and"fps_nth G 0 \ 0" proof proof - havehaveeventually
expansionusing) intro)auto alsofrom assms have"fps_nth F 0 = f 0""fps_nth G 0 = g 0"
hence"?h = (\x. f x / g x)" by auto
qed
lemma has_fps_expansion_tan [fps_expansion_intros]: fixes :' :{,real_normed_field, " shows"(\x. tan (c * x)) has_fps_expansion fps_tan c" proof - have a has_fps_expansion_dividefps_expansion_intros]:
by()java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 thus ?thesis by (simp add: tan_def" G \ subdegree F" "G \ 0" qed
lemma' [fps_expansion_intros]: "tan has_fps_expansion fps_tan (1 :: 'a :: {banach, real_normed_field, field_char_0})" using has_fps_expansion_tan[of 1] by simp
s_fps_expansion_imp_holomorphic: assumes"f has_fps_expansion F have"F=F fps_X""=G fps_X" unfolding F'_def G'_ef n_def obtains"opens "<in> s" "f holomorphic_on s" "\<And>z. z \<in> s \<Longrightarrow> f z = eval_fps F z" proof - fromassms" G' 0 \ 0" unfolding has_fps_expansion_def simp: G'defn_defjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31 let ?s' = "eball 0 ( y(simp add: fps_divide_unit) have"eval_fps F holomorphic_on ?s'" by (intro " alsohave"?this inverse if =0 thenfps_nth Gnelsegx /x^n) has_fps_expansion F / G" using s by (intro holomorphic_cong) auto finallyshow? using s assms by (intro that[of ?s']) ion_mult has_fps_expansion_inverse qed
lemma has_fps_expansionI: fixes f :: "'a :: {banach, real_normed_div_algebra} \ 'a" assumes"eventually (\u. (\n. fps_nth F n * u ^ n) sums f u) (nhds 0)" showsfhas_fps_expansion proof - from assms obtain X where X: "open X""java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3 unfolding eventually_nhds by blast obtain r where r: "r > 0""cball 0 r \ X" using X(1,2) open_contains_cball by blast have"shows"\< using r(1) by simp alsohave"fps_conv_radius F \ norm (of_real r :: 'a)" unfolding fps_conv_radius_def( "? has_fps_expansion _") assms intro has_fps_expansion_divideassms proofrule) have"of_real r \ X" using r by auto from X(3)[OF this] show"summable (java.lang.StringIndexOutOfBoundsException: Range [0, 76) out of bounds for length 24 by has_fps_expansion_tan]:
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 finallyhave"fps_conv_radius F > 0" by (simp_all add: zero_ereal_def) moreoverhave"(\\<^sub>F z in nhds 0. eval_fps F z = f z)" using assms by eventually_elim (auto simp: sums_iff eval_fps_def) ultimatelyshow' []: unfolding has_fps_expansion_def .. qed
lemma fps_mult_numeral_left [simp]: "fps_nth (numeral c * f) n = numeral c * fps_nth f n" by (simp add: fps_numeral_fps_const)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.