diff -r df1150ec6cd7 -r 2c86ea8961b5 src/HOL/Library/Landau_Symbols.thy --- a/src/HOL/Library/Landau_Symbols.thy Thu Mar 02 11:34:54 2023 +0000 +++ b/src/HOL/Library/Landau_Symbols.thy Thu Mar 02 17:17:18 2023 +0000 @@ -2052,6 +2052,17 @@ shows "(\x. f1 x / f2 x) \[F] (\x. g1 x / g2 x)" using asymp_equiv_mult[OF assms(1) asymp_equiv_inverse[OF assms(2)]] by (simp add: field_simps) +lemma asymp_equivD_strong: + assumes "f \[F] g" "eventually (\x. f x \ 0 \ g x \ 0) F" + shows "((\x. f x / g x) \ 1) F" +proof - + from assms(1) have "((\x. if f x = 0 \ g x = 0 then 1 else f x / g x) \ 1) F" + by (rule asymp_equivD) + also have "?this \ ?thesis" + by (intro filterlim_cong eventually_mono[OF assms(2)]) auto + finally show ?thesis . +qed + lemma asymp_equiv_compose [asymp_equiv_intros]: assumes "f \[G] g" "filterlim h G F" shows "f \ h \[F] g \ h"