Theorem: AkraBazziRecurrence.eventually_deriv_rpow_p_mul_one_sub_smoothingFn
File: Mathlib/Computability/AkraBazzi/AkraBazzi.lean

tactic: filter_upwards [eventually_gt_atTop 1] with x hx
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p : ℝ
⊢ (deriv fun x => x ^ p * (1 - ε x)) =ᶠ[atTop] fun x =>
    deriv (fun x => x ^ p) x * (1 - ε x) + x ^ p * deriv (fun x => 1 - ε x) x
state_after: case h
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
⊢ deriv (fun x => x ^ p * (1 - ε x)) x = deriv (fun x => x ^ p) x * (1 - ε x) + x ^ p * deriv (fun x => 1 - ε x) x

tactic: rw [deriv_mul]
state_before: case h
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
⊢ deriv (fun x => x ^ p * (1 - ε x)) x = deriv (fun x => x ^ p) x * (1 - ε x) + x ^ p * deriv (fun x => 1 - ε x) x
state_after: case h.hc
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
⊢ DifferentiableAt ℝ (fun x => x ^ p) x

case h.hd
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
⊢ DifferentiableAt ℝ (fun x => 1 - ε x) x

tactic: exact differentiableAt_rpow_const_of_ne _ (by positivity)
state_before: case h.hc
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
⊢ DifferentiableAt ℝ (fun x => x ^ p) x
state_after: no goals

tactic: positivity
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
⊢ x ≠ 0
state_after: no goals

tactic: exact differentiableAt_one_sub_smoothingFn hx
state_before: case h.hd
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
⊢ DifferentiableAt ℝ (fun x => 1 - ε x) x
state_after: no goals

tactic: filter_upwards [eventually_gt_atTop 1, eventually_deriv_one_sub_smoothingFn]
  with x hx hderiv
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p : ℝ
⊢ (fun x => deriv (fun x => x ^ p) x * (1 - ε x) + x ^ p * deriv (fun x => 1 - ε x) x) =ᶠ[atTop] fun x =>
    p * x ^ (p - 1) * (1 - ε x) + x ^ p * (x⁻¹ / log x ^ 2)
state_after: case h
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
hderiv : deriv (fun x => 1 - ε x) x = x⁻¹ / log x ^ 2
⊢ deriv (fun x => x ^ p) x * (1 - ε x) + x ^ p * deriv (fun x => 1 - ε x) x =
    p * x ^ (p - 1) * (1 - ε x) + x ^ p * (x⁻¹ / log x ^ 2)

tactic: rw [hderiv, Real.deriv_rpow_const (Or.inl <| by positivity)]
state_before: case h
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
hderiv : deriv (fun x => 1 - ε x) x = x⁻¹ / log x ^ 2
⊢ deriv (fun x => x ^ p) x * (1 - ε x) + x ^ p * deriv (fun x => 1 - ε x) x =
    p * x ^ (p - 1) * (1 - ε x) + x ^ p * (x⁻¹ / log x ^ 2)
state_after: no goals

tactic: positivity
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 1 < x
hderiv : deriv (fun x => 1 - ε x) x = x⁻¹ / log x ^ 2
⊢ x ≠ 0
state_after: no goals

tactic: filter_upwards [eventually_gt_atTop 0] with x hx
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p : ℝ
⊢ (fun x => p * x ^ (p - 1) * (1 - ε x) + x ^ p * (x⁻¹ / log x ^ 2)) =ᶠ[atTop] fun x =>
    p * x ^ (p - 1) * (1 - ε x) + x ^ (p - 1) / log x ^ 2
state_after: case h
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 0 < x
⊢ p * x ^ (p - 1) * (1 - ε x) + x ^ p * (x⁻¹ / log x ^ 2) = p * x ^ (p - 1) * (1 - ε x) + x ^ (p - 1) / log x ^ 2

tactic: rw [mul_div, ← Real.rpow_neg_one, ← Real.rpow_add (by positivity), sub_eq_add_neg]
state_before: case h
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 0 < x
⊢ p * x ^ (p - 1) * (1 - ε x) + x ^ p * (x⁻¹ / log x ^ 2) = p * x ^ (p - 1) * (1 - ε x) + x ^ (p - 1) / log x ^ 2
state_after: no goals

tactic: positivity
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
p x : ℝ
hx : 0 < x
⊢ 0 < x
state_after: no goals