equal
deleted
inserted
replaced
1640 |
1640 |
1641 |
1641 |
1642 subsection \<open>Asymptotic Equivalence\<close> |
1642 subsection \<open>Asymptotic Equivalence\<close> |
1643 |
1643 |
1644 (* TODO Move *) |
1644 (* TODO Move *) |
1645 lemma Lim_eventually: "eventually (\<lambda>x. f x = c) F \<Longrightarrow> filterlim f (nhds c) F" |
1645 lemma tendsto_eventually: "eventually (\<lambda>x. f x = c) F \<Longrightarrow> filterlim f (nhds c) F" |
1646 by (simp add: eventually_mono eventually_nhds_x_imp_x filterlim_iff) |
1646 by (simp add: eventually_mono eventually_nhds_x_imp_x filterlim_iff) |
1647 |
1647 |
1648 named_theorems asymp_equiv_intros |
1648 named_theorems asymp_equiv_intros |
1649 named_theorems asymp_equiv_simps |
1649 named_theorems asymp_equiv_simps |
1650 |
1650 |
1773 case False |
1773 case False |
1774 with tendsto_mult_right[OF asymp_equivD[OF assms], of c] show ?thesis by simp |
1774 with tendsto_mult_right[OF asymp_equivD[OF assms], of c] show ?thesis by simp |
1775 next |
1775 next |
1776 case True |
1776 case True |
1777 with asymp_equiv_eventually_zeros[OF assms] show ?thesis |
1777 with asymp_equiv_eventually_zeros[OF assms] show ?thesis |
1778 by (simp add: Lim_eventually) |
1778 by (simp add: tendsto_eventually) |
1779 qed |
1779 qed |
1780 |
1780 |
1781 lemma asymp_equiv_refl_ev: |
1781 lemma asymp_equiv_refl_ev: |
1782 assumes "eventually (\<lambda>x. f x = g x) F" |
1782 assumes "eventually (\<lambda>x. f x = g x) F" |
1783 shows "f \<sim>[F] g" |
1783 shows "f \<sim>[F] g" |
1784 by (intro asymp_equivI Lim_eventually) |
1784 by (intro asymp_equivI tendsto_eventually) |
1785 (insert assms, auto elim!: eventually_mono) |
1785 (insert assms, auto elim!: eventually_mono) |
1786 |
1786 |
1787 lemma asymp_equiv_sandwich: |
1787 lemma asymp_equiv_sandwich: |
1788 fixes f g h :: "'a \<Rightarrow> 'b :: {real_normed_field, order_topology, linordered_field}" |
1788 fixes f g h :: "'a \<Rightarrow> 'b :: {real_normed_field, order_topology, linordered_field}" |
1789 assumes "eventually (\<lambda>x. f x \<ge> 0) F" |
1789 assumes "eventually (\<lambda>x. f x \<ge> 0) F" |