src/HOL/Limits.thy
changeset 62393 a620a8756b7c
parent 62381 a6479cb85944
parent 62390 842917225d56
child 63040 eb4ddd18d635
equal deleted inserted replaced
62385:7891843d79bb 62393:a620a8756b7c
  1352   unfolding filterlim_at_top_gt[where c=0]
  1352   unfolding filterlim_at_top_gt[where c=0]
  1353 proof safe
  1353 proof safe
  1354   fix Z :: real assume "0 < Z"
  1354   fix Z :: real assume "0 < Z"
  1355   from f \<open>0 < c\<close> have "eventually (\<lambda>x. c / 2 < f x) F"
  1355   from f \<open>0 < c\<close> have "eventually (\<lambda>x. c / 2 < f x) F"
  1356     by (auto dest!: tendstoD[where e="c / 2"] elim!: eventually_mono
  1356     by (auto dest!: tendstoD[where e="c / 2"] elim!: eventually_mono
  1357              simp: dist_real_def abs_real_def split: split_if_asm)
  1357              simp: dist_real_def abs_real_def split: if_split_asm)
  1358   moreover from g have "eventually (\<lambda>x. (Z / c * 2) \<le> g x) F"
  1358   moreover from g have "eventually (\<lambda>x. (Z / c * 2) \<le> g x) F"
  1359     unfolding filterlim_at_top by auto
  1359     unfolding filterlim_at_top by auto
  1360   ultimately show "eventually (\<lambda>x. Z \<le> f x * g x) F"
  1360   ultimately show "eventually (\<lambda>x. Z \<le> f x * g x) F"
  1361   proof eventually_elim
  1361   proof eventually_elim
  1362     fix x assume "c / 2 < f x" "Z / c * 2 \<le> g x"
  1362     fix x assume "c / 2 < f x" "Z / c * 2 \<le> g x"