equal
deleted
inserted
replaced
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" |