@@ -9,7 +9,7 @@ import analysis.normed_space.ordered
99/-!
1010# Asymptotic equivalence
1111
12- In this file, we define the relation `is_equivalent u v l `, which means that `u-v` is little o of
12+ In this file, we define the relation `is_equivalent l u v`, which means that `u-v` is little o of
1313`v` along the filter `l`.
1414
1515Unlike `is_[oO]` relations, this one requires `u` and `v` to have the same codomain `β`. While the
@@ -18,7 +18,7 @@ definition only requires `β` to be a `normed_group`, most interesting propertie
1818
1919## Notations
2020
21- We introduce the notation `u ~[l] v := is_equivalent u v l `, which you can use by opening the
21+ We introduce the notation `u ~[l] v := is_equivalent l u v`, which you can use by opening the
2222`asymptotics` locale.
2323
2424## Main results
@@ -47,6 +47,11 @@ If `β` is a `normed_linear_ordered_field` :
4747- If `u ~[l] v`, we have `tendsto u l at_top ↔ tendsto v l at_top`
4848 (see `is_equivalent.tendsto_at_top_iff`)
4949
50+ ## Implementation Notes
51+
52+ Note that `is_equivalent` takes the parameters `(l : filter α) (u v : α → β)` in that order.
53+ This is to enable `calc` support, as `calc` requires that the last two explicit arguments are `u v`.
54+
5055-/
5156
5257namespace asymptotics
@@ -60,9 +65,9 @@ variables {α β : Type*} [normed_group β]
6065
6166/-- Two functions `u` and `v` are said to be asymptotically equivalent along a filter `l` when
6267 `u x - v x = o(v x)` as x converges along `l`. -/
63- def is_equivalent (u v : α → β ) (l : filter α ) := is_o (u - v) v l
68+ def is_equivalent (l : filter α ) (u v : α → β ) := is_o (u - v) v l
6469
65- localized " notation u ` ~[`:50 l:50 `] `:0 v:50 := asymptotics.is_equivalent u v l " in asymptotics
70+ localized " notation u ` ~[`:50 l:50 `] `:0 v:50 := asymptotics.is_equivalent l u v" in asymptotics
6671
6772variables {u v w : α → β} {l : filter α}
6873
8792@[symm] lemma is_equivalent.symm (h : u ~[l] v) : v ~[l] u :=
8893(h.is_o.trans_is_O h.is_O_symm).symm
8994
90- @[trans] lemma is_equivalent.trans (huv : u ~[l] v) (hvw : v ~[l] w) : u ~[l] w :=
95+ @[trans] lemma is_equivalent.trans {l : filter α} {u v w : α → β}
96+ (huv : u ~[l] v) (hvw : v ~[l] w) : u ~[l] w :=
9197(huv.is_o.trans_is_O hvw.is_O).triangle hvw.is_o
9298
9399lemma is_equivalent.congr_left {u v w : α → β} {l : filter α} (huv : u ~[l] v)
0 commit comments