src/HOL/Transcendental.thy
changeset 53599 78ea983f7987
parent 53079 ade63ccd6f4e
child 53602 0ae3db699a3e
equal deleted inserted replaced
53598:2bd8d459ebae 53599:78ea983f7987
    55 
    55 
    56 text{*Power series has a `circle` of convergence, i.e. if it sums for @{term
    56 text{*Power series has a `circle` of convergence, i.e. if it sums for @{term
    57   x}, then it sums absolutely for @{term z} with @{term "\<bar>z\<bar> < \<bar>x\<bar>"}.*}
    57   x}, then it sums absolutely for @{term z} with @{term "\<bar>z\<bar> < \<bar>x\<bar>"}.*}
    58 
    58 
    59 lemma powser_insidea:
    59 lemma powser_insidea:
    60   fixes x z :: "'a::real_normed_field"
    60   fixes x z :: "'a::real_normed_div_algebra"
    61   assumes 1: "summable (\<lambda>n. f n * x ^ n)"
    61   assumes 1: "summable (\<lambda>n. f n * x ^ n)"
    62     and 2: "norm z < norm x"
    62     and 2: "norm z < norm x"
    63   shows "summable (\<lambda>n. norm (f n * z ^ n))"
    63   shows "summable (\<lambda>n. norm (f n * z ^ n))"
    64 proof -
    64 proof -
    65   from 2 have x_neq_0: "x \<noteq> 0" by clarsimp
    65   from 2 have x_neq_0: "x \<noteq> 0" by clarsimp
    93   qed
    93   qed
    94   moreover have "summable (\<lambda>n. K * norm (z ^ n) * inverse (norm (x ^ n)))"
    94   moreover have "summable (\<lambda>n. K * norm (z ^ n) * inverse (norm (x ^ n)))"
    95   proof -
    95   proof -
    96     from 2 have "norm (norm (z * inverse x)) < 1"
    96     from 2 have "norm (norm (z * inverse x)) < 1"
    97       using x_neq_0
    97       using x_neq_0
    98       by (simp add: nonzero_norm_divide divide_inverse [symmetric])
    98       by (simp add: norm_mult nonzero_norm_inverse divide_inverse [where 'a=real, symmetric])
    99     hence "summable (\<lambda>n. norm (z * inverse x) ^ n)"
    99     hence "summable (\<lambda>n. norm (z * inverse x) ^ n)"
   100       by (rule summable_geometric)
   100       by (rule summable_geometric)
   101     hence "summable (\<lambda>n. K * norm (z * inverse x) ^ n)"
   101     hence "summable (\<lambda>n. K * norm (z * inverse x) ^ n)"
   102       by (rule summable_mult)
   102       by (rule summable_mult)
   103     thus "summable (\<lambda>n. K * norm (z ^ n) * inverse (norm (x ^ n)))"
   103     thus "summable (\<lambda>n. K * norm (z ^ n) * inverse (norm (x ^ n)))"
   108   ultimately show "summable (\<lambda>n. norm (f n * z ^ n))"
   108   ultimately show "summable (\<lambda>n. norm (f n * z ^ n))"
   109     by (rule summable_comparison_test)
   109     by (rule summable_comparison_test)
   110 qed
   110 qed
   111 
   111 
   112 lemma powser_inside:
   112 lemma powser_inside:
   113   fixes f :: "nat \<Rightarrow> 'a::{real_normed_field,banach}"
   113   fixes f :: "nat \<Rightarrow> 'a::{real_normed_div_algebra,banach}"
   114   shows
   114   shows
   115     "summable (\<lambda>n. f n * (x ^ n)) \<Longrightarrow> norm z < norm x \<Longrightarrow>
   115     "summable (\<lambda>n. f n * (x ^ n)) \<Longrightarrow> norm z < norm x \<Longrightarrow>
   116       summable (\<lambda>n. f n * (z ^ n))"
   116       summable (\<lambda>n. f n * (z ^ n))"
   117   by (rule powser_insidea [THEN summable_norm_cancel])
   117   by (rule powser_insidea [THEN summable_norm_cancel])
   118 
   118