src/HOL/Limits.thy
changeset 57512 cc97b347b301
parent 57447 87429bdecad5
child 58729 e8ecc79aee43
equal deleted inserted replaced
57511:de51a86fc903 57512:cc97b347b301
   700       by (rule norm_le)
   700       by (rule norm_le)
   701     also have "\<dots> \<le> norm (f x) * B * K"
   701     also have "\<dots> \<le> norm (f x) * B * K"
   702       by (intro mult_mono' order_refl norm_g norm_ge_zero
   702       by (intro mult_mono' order_refl norm_g norm_ge_zero
   703                 mult_nonneg_nonneg K elim)
   703                 mult_nonneg_nonneg K elim)
   704     also have "\<dots> = norm (f x) * (B * K)"
   704     also have "\<dots> = norm (f x) * (B * K)"
   705       by (rule mult_assoc)
   705       by (rule mult.assoc)
   706     finally show "norm (f x ** g x) \<le> norm (f x) * (B * K)" .
   706     finally show "norm (f x ** g x) \<le> norm (f x) * (B * K)" .
   707   qed
   707   qed
   708   with f show ?thesis
   708   with f show ?thesis
   709     by (rule Zfun_imp_Zfun)
   709     by (rule Zfun_imp_Zfun)
   710 qed
   710 qed
   714   apply default
   714   apply default
   715   apply (rule add_right)
   715   apply (rule add_right)
   716   apply (rule add_left)
   716   apply (rule add_left)
   717   apply (rule scaleR_right)
   717   apply (rule scaleR_right)
   718   apply (rule scaleR_left)
   718   apply (rule scaleR_left)
   719   apply (subst mult_commute)
   719   apply (subst mult.commute)
   720   using bounded by fast
   720   using bounded by fast
   721 
   721 
   722 lemma (in bounded_bilinear) Bfun_prod_Zfun:
   722 lemma (in bounded_bilinear) Bfun_prod_Zfun:
   723   assumes f: "Bfun f F"
   723   assumes f: "Bfun f F"
   724   assumes g: "Zfun g F"
   724   assumes g: "Zfun g F"
  1271   shows "\<lbrakk>X ----> L; 0 < r\<rbrakk> \<Longrightarrow> \<exists>no. \<forall>n\<ge>no. norm (X n - L) < r"
  1271   shows "\<lbrakk>X ----> L; 0 < r\<rbrakk> \<Longrightarrow> \<exists>no. \<forall>n\<ge>no. norm (X n - L) < r"
  1272 by (simp add: LIMSEQ_iff)
  1272 by (simp add: LIMSEQ_iff)
  1273 
  1273 
  1274 lemma LIMSEQ_linear: "\<lbrakk> X ----> x ; l > 0 \<rbrakk> \<Longrightarrow> (\<lambda> n. X (n * l)) ----> x"
  1274 lemma LIMSEQ_linear: "\<lbrakk> X ----> x ; l > 0 \<rbrakk> \<Longrightarrow> (\<lambda> n. X (n * l)) ----> x"
  1275   unfolding tendsto_def eventually_sequentially
  1275   unfolding tendsto_def eventually_sequentially
  1276   by (metis div_le_dividend div_mult_self1_is_m le_trans nat_mult_commute)
  1276   by (metis div_le_dividend div_mult_self1_is_m le_trans mult.commute)
  1277 
  1277 
  1278 lemma Bseq_inverse_lemma:
  1278 lemma Bseq_inverse_lemma:
  1279   fixes x :: "'a::real_normed_div_algebra"
  1279   fixes x :: "'a::real_normed_div_algebra"
  1280   shows "\<lbrakk>r \<le> norm x; 0 < r\<rbrakk> \<Longrightarrow> norm (inverse x) \<le> inverse r"
  1280   shows "\<lbrakk>r \<le> norm x; 0 < r\<rbrakk> \<Longrightarrow> norm (inverse x) \<le> inverse r"
  1281 apply (subst nonzero_norm_inverse, clarsimp)
  1281 apply (subst nonzero_norm_inverse, clarsimp)
  1528   unfolding filtermap_at_shift[symmetric, of a k] filterlim_def filtermap_filtermap by simp
  1528   unfolding filtermap_at_shift[symmetric, of a k] filterlim_def filtermap_filtermap by simp
  1529 
  1529 
  1530 lemma LIM_offset_zero:
  1530 lemma LIM_offset_zero:
  1531   fixes a :: "'a::real_normed_vector"
  1531   fixes a :: "'a::real_normed_vector"
  1532   shows "f -- a --> L \<Longrightarrow> (\<lambda>h. f (a + h)) -- 0 --> L"
  1532   shows "f -- a --> L \<Longrightarrow> (\<lambda>h. f (a + h)) -- 0 --> L"
  1533 by (drule_tac k="a" in LIM_offset, simp add: add_commute)
  1533 by (drule_tac k="a" in LIM_offset, simp add: add.commute)
  1534 
  1534 
  1535 lemma LIM_offset_zero_cancel:
  1535 lemma LIM_offset_zero_cancel:
  1536   fixes a :: "'a::real_normed_vector"
  1536   fixes a :: "'a::real_normed_vector"
  1537   shows "(\<lambda>h. f (a + h)) -- 0 --> L \<Longrightarrow> f -- a --> L"
  1537   shows "(\<lambda>h. f (a + h)) -- 0 --> L \<Longrightarrow> f -- a --> L"
  1538 by (drule_tac k="- a" in LIM_offset, simp)
  1538 by (drule_tac k="- a" in LIM_offset, simp)