Theorem: isBigO_rpow_zero_log_smul
File: Mathlib/Analysis/MellinTransform.lean

tactic: refine (this.isBigO.smul hf).congr' (eventually_of_forall fun t => by rfl)
    (eventually_nhdsWithin_iff.mpr (eventually_of_forall fun t ht => ?_))
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
this : log =o[𝓝[>] 0] fun t => t ^ (a - b)
⊢ (fun t => log t • f t) =O[𝓝[>] 0] fun x => x ^ (-b)
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
this : log =o[𝓝[>] 0] fun t => t ^ (a - b)
t : ℝ
ht : t ∈ Ioi 0
⊢ (fun x => x ^ (a - b) • x ^ (-a)) t = (fun x => x ^ (-b)) t

tactic: simp_rw [smul_eq_mul, ← rpow_add ht]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
this : log =o[𝓝[>] 0] fun t => t ^ (a - b)
t : ℝ
ht : t ∈ Ioi 0
⊢ (fun x => x ^ (a - b) • x ^ (-a)) t = (fun x => x ^ (-b)) t
state_after: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
this : log =o[𝓝[>] 0] fun t => t ^ (a - b)
t : ℝ
ht : t ∈ Ioi 0
⊢ t ^ (a - b + -a) = t ^ (-b)

tactic: congr 1
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
this : log =o[𝓝[>] 0] fun t => t ^ (a - b)
t : ℝ
ht : t ∈ Ioi 0
⊢ t ^ (a - b + -a) = t ^ (-b)
state_after: case e_a
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
this : log =o[𝓝[>] 0] fun t => t ^ (a - b)
t : ℝ
ht : t ∈ Ioi 0
⊢ a - b + -a = -b

tactic: abel
state_before: case e_a
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
this : log =o[𝓝[>] 0] fun t => t ^ (a - b)
t : ℝ
ht : t ∈ Ioi 0
⊢ a - b + -a = -b
state_after: no goals

tactic: refine ((isLittleO_log_rpow_atTop (sub_pos.mpr hab)).neg_left.comp_tendsto
      tendsto_inv_zero_atTop).congr'
  (eventually_nhdsWithin_iff.mpr <| eventually_of_forall fun t ht => ?_)
  (eventually_nhdsWithin_iff.mpr <| eventually_of_forall fun t ht => ?_)
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
⊢ log =o[𝓝[>] 0] fun t => t ^ (a - b)
state_after: case refine_1
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
t : ℝ
ht : t ∈ Ioi 0
⊢ ((fun x => -log x) ∘ fun x => x⁻¹) t = log t

case refine_2
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
t : ℝ
ht : t ∈ Ioi 0
⊢ ((fun x => x ^ (b - a)) ∘ fun x => x⁻¹) t = (fun t => t ^ (a - b)) t

tactic: simp_rw [Function.comp_apply, ← one_div, log_div one_ne_zero (ne_of_gt ht), Real.log_one,
  zero_sub, neg_neg]
state_before: case refine_1
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
t : ℝ
ht : t ∈ Ioi 0
⊢ ((fun x => -log x) ∘ fun x => x⁻¹) t = log t
state_after: no goals

tactic: simp_rw [Function.comp_apply, inv_rpow (le_of_lt ht), ← rpow_neg (le_of_lt ht), neg_sub]
state_before: case refine_2
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
t : ℝ
ht : t ∈ Ioi 0
⊢ ((fun x => x ^ (b - a)) ∘ fun x => x⁻¹) t = (fun t => t ^ (a - b)) t
state_after: no goals

tactic: rfl
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
hab : a < b
hf : f =O[𝓝[>] 0] fun x => x ^ (-a)
this : log =o[𝓝[>] 0] fun t => t ^ (a - b)
t : ℝ
⊢ (fun x => log x • f x) t = (fun t => log t • f t) t
state_after: no goals