173 |
173 |
174 lemma Bseq_eventually_mono: |
174 lemma Bseq_eventually_mono: |
175 assumes "eventually (\<lambda>n. norm (f n) \<le> norm (g n)) sequentially" "Bseq g" |
175 assumes "eventually (\<lambda>n. norm (f n) \<le> norm (g n)) sequentially" "Bseq g" |
176 shows "Bseq f" |
176 shows "Bseq f" |
177 proof - |
177 proof - |
178 from assms(1) obtain N where N: "\<And>n. n \<ge> N \<Longrightarrow> norm (f n) \<le> norm (g n)" |
178 from assms(2) obtain K where "0 < K" and "eventually (\<lambda>n. norm (g n) \<le> K) sequentially" |
179 by (auto simp: eventually_at_top_linorder) |
179 unfolding Bfun_def by fast |
180 moreover from assms(2) obtain K where K: "\<And>n. norm (g n) \<le> K" |
180 with assms(1) have "eventually (\<lambda>n. norm (f n) \<le> K) sequentially" |
181 by (blast elim!: BseqE) |
181 by (fast elim: eventually_elim2 order_trans) |
182 ultimately have "norm (f n) \<le> max K (Max {norm (f n) |n. n < N})" for n |
182 with `0 < K` show "Bseq f" |
183 apply (cases "n < N") |
183 unfolding Bfun_def by fast |
184 subgoal by (rule max.coboundedI2, rule Max.coboundedI) auto |
|
185 subgoal by (rule max.coboundedI1) (force intro: order.trans[OF N K]) |
|
186 done |
|
187 then show ?thesis by (blast intro: BseqI') |
|
188 qed |
184 qed |
189 |
185 |
190 lemma lemma_NBseq_def: "(\<exists>K > 0. \<forall>n. norm (X n) \<le> K) \<longleftrightarrow> (\<exists>N. \<forall>n. norm (X n) \<le> real(Suc N))" |
186 lemma lemma_NBseq_def: "(\<exists>K > 0. \<forall>n. norm (X n) \<le> K) \<longleftrightarrow> (\<exists>N. \<forall>n. norm (X n) \<le> real(Suc N))" |
191 proof safe |
187 proof safe |
192 fix K :: real |
188 fix K :: real |
2262 qed |
2258 qed |
2263 |
2259 |
2264 |
2260 |
2265 subsection \<open>Power Sequences\<close> |
2261 subsection \<open>Power Sequences\<close> |
2266 |
2262 |
2267 text \<open> |
|
2268 The sequence @{term "x^n"} tends to 0 if @{term "0\<le>x"} and @{term |
|
2269 "x<1"}. Proof will use (NS) Cauchy equivalence for convergence and |
|
2270 also fact that bounded and monotonic sequence converges. |
|
2271 \<close> |
|
2272 |
|
2273 lemma Bseq_realpow: "0 \<le> x \<Longrightarrow> x \<le> 1 \<Longrightarrow> Bseq (\<lambda>n. x ^ n)" |
2263 lemma Bseq_realpow: "0 \<le> x \<Longrightarrow> x \<le> 1 \<Longrightarrow> Bseq (\<lambda>n. x ^ n)" |
2274 for x :: real |
2264 for x :: real |
2275 apply (simp add: Bseq_def) |
2265 apply (simp add: Bseq_def) |
2276 apply (rule_tac x = 1 in exI) |
2266 apply (rule_tac x = 1 in exI) |
2277 apply (simp add: power_abs) |
2267 apply (simp add: power_abs) |
2711 then show ?thesis |
2701 then show ?thesis |
2712 by auto |
2702 by auto |
2713 qed |
2703 qed |
2714 |
2704 |
2715 lemma open_Collect_positive: |
2705 lemma open_Collect_positive: |
2716 fixes f :: "'a::t2_space \<Rightarrow> real" |
2706 fixes f :: "'a::topological_space \<Rightarrow> real" |
2717 assumes f: "continuous_on s f" |
2707 assumes f: "continuous_on s f" |
2718 shows "\<exists>A. open A \<and> A \<inter> s = {x\<in>s. 0 < f x}" |
2708 shows "\<exists>A. open A \<and> A \<inter> s = {x\<in>s. 0 < f x}" |
2719 using continuous_on_open_invariant[THEN iffD1, OF f, rule_format, of "{0 <..}"] |
2709 using continuous_on_open_invariant[THEN iffD1, OF f, rule_format, of "{0 <..}"] |
2720 by (auto simp: Int_def field_simps) |
2710 by (auto simp: Int_def field_simps) |
2721 |
2711 |
2722 lemma open_Collect_less_Int: |
2712 lemma open_Collect_less_Int: |
2723 fixes f g :: "'a::t2_space \<Rightarrow> real" |
2713 fixes f g :: "'a::topological_space \<Rightarrow> real" |
2724 assumes f: "continuous_on s f" |
2714 assumes f: "continuous_on s f" |
2725 and g: "continuous_on s g" |
2715 and g: "continuous_on s g" |
2726 shows "\<exists>A. open A \<and> A \<inter> s = {x\<in>s. f x < g x}" |
2716 shows "\<exists>A. open A \<and> A \<inter> s = {x\<in>s. f x < g x}" |
2727 using open_Collect_positive[OF continuous_on_diff[OF g f]] by (simp add: field_simps) |
2717 using open_Collect_positive[OF continuous_on_diff[OF g f]] by (simp add: field_simps) |
2728 |
2718 |