src/HOL/NthRoot.thy
changeset 63040 eb4ddd18d635
parent 62393 a620a8756b7c
child 63367 6c731c8b7f03
equal deleted inserted replaced
63039:1a20fd9cf281 63040:eb4ddd18d635
   644   apply auto
   644   apply auto
   645   done
   645   done
   646 
   646 
   647 lemma LIMSEQ_root: "(\<lambda>n. root n n) \<longlonglongrightarrow> 1"
   647 lemma LIMSEQ_root: "(\<lambda>n. root n n) \<longlonglongrightarrow> 1"
   648 proof -
   648 proof -
   649   def x \<equiv> "\<lambda>n. root n n - 1"
   649   define x where "x n = root n n - 1" for n
   650   have "x \<longlonglongrightarrow> sqrt 0"
   650   have "x \<longlonglongrightarrow> sqrt 0"
   651   proof (rule tendsto_sandwich[OF _ _ tendsto_const])
   651   proof (rule tendsto_sandwich[OF _ _ tendsto_const])
   652     show "(\<lambda>x. sqrt (2 / x)) \<longlonglongrightarrow> sqrt 0"
   652     show "(\<lambda>x. sqrt (2 / x)) \<longlonglongrightarrow> sqrt 0"
   653       by (intro tendsto_intros tendsto_divide_0[OF tendsto_const] filterlim_mono[OF filterlim_real_sequentially])
   653       by (intro tendsto_intros tendsto_divide_0[OF tendsto_const] filterlim_mono[OF filterlim_real_sequentially])
   654          (simp_all add: at_infinity_eq_at_top_bot)
   654          (simp_all add: at_infinity_eq_at_top_bot)
   682 lemma LIMSEQ_root_const:
   682 lemma LIMSEQ_root_const:
   683   assumes "0 < c"
   683   assumes "0 < c"
   684   shows "(\<lambda>n. root n c) \<longlonglongrightarrow> 1"
   684   shows "(\<lambda>n. root n c) \<longlonglongrightarrow> 1"
   685 proof -
   685 proof -
   686   { fix c :: real assume "1 \<le> c"
   686   { fix c :: real assume "1 \<le> c"
   687     def x \<equiv> "\<lambda>n. root n c - 1"
   687     define x where "x n = root n c - 1" for n
   688     have "x \<longlonglongrightarrow> 0"
   688     have "x \<longlonglongrightarrow> 0"
   689     proof (rule tendsto_sandwich[OF _ _ tendsto_const])
   689     proof (rule tendsto_sandwich[OF _ _ tendsto_const])
   690       show "(\<lambda>n. c / n) \<longlonglongrightarrow> 0"
   690       show "(\<lambda>n. c / n) \<longlonglongrightarrow> 0"
   691         by (intro tendsto_divide_0[OF tendsto_const] filterlim_mono[OF filterlim_real_sequentially])
   691         by (intro tendsto_divide_0[OF tendsto_const] filterlim_mono[OF filterlim_real_sequentially])
   692            (simp_all add: at_infinity_eq_at_top_bot)
   692            (simp_all add: at_infinity_eq_at_top_bot)