File: Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean

full_name: Complex.hasStrictFDerivAt_cpow
code: theorem hasStrictFDerivAt_cpow {p : ℂ × ℂ} (hp : p.1 ∈ slitPlane) :
    HasStrictFDerivAt (fun x : ℂ × ℂ => x.1 ^ x.2)
      ((p.2 * p.1 ^ (p.2 - 1)) • ContinuousLinearMap.fst ℂ ℂ ℂ +
        (p.1 ^ p.2 * log p.1) • ContinuousLinearMap.snd ℂ ℂ ℂ) p 
goal: HasStrictFDerivAt (fun x => x.1 ^ x.2)
  ((p.2 * p.1 ^ (p.2 - 1)) • ContinuousLinearMap.fst ℂ ℂ ℂ +
    (p.1 ^ p.2 * Complex.log p.1) • ContinuousLinearMap.snd ℂ ℂ ℂ)
  p

full_name: Complex.hasStrictFDerivAt_cpow'
code: theorem hasStrictFDerivAt_cpow' {x y : ℂ} (hp : x ∈ slitPlane) :
    HasStrictFDerivAt (fun x : ℂ × ℂ => x.1 ^ x.2)
      ((y * x ^ (y - 1)) • ContinuousLinearMap.fst ℂ ℂ ℂ +
        (x ^ y * log x) • ContinuousLinearMap.snd ℂ ℂ ℂ) (x, y) 
goal: HasStrictFDerivAt (fun x => x.1 ^ x.2)
  ((y * x ^ (y - 1)) • ContinuousLinearMap.fst ℂ ℂ ℂ + (x ^ y * Complex.log x) • ContinuousLinearMap.snd ℂ ℂ ℂ) (x, y)

full_name: Complex.hasStrictDerivAt_const_cpow
code: theorem hasStrictDerivAt_const_cpow {x y : ℂ} (h : x ≠ 0 ∨ y ≠ 0) :
    HasStrictDerivAt (fun y => x ^ y) (x ^ y * log x) y 
goal: HasStrictDerivAt (fun y => x ^ y) (x ^ y * Complex.log x) y

full_name: Complex.hasFDerivAt_cpow
code: theorem hasFDerivAt_cpow {p : ℂ × ℂ} (hp : p.1 ∈ slitPlane) :
    HasFDerivAt (fun x : ℂ × ℂ => x.1 ^ x.2)
      ((p.2 * p.1 ^ (p.2 - 1)) • ContinuousLinearMap.fst ℂ ℂ ℂ +
        (p.1 ^ p.2 * log p.1) • ContinuousLinearMap.snd ℂ ℂ ℂ) p 
goal: HasFDerivAt (fun x => x.1 ^ x.2)
  ((p.2 * p.1 ^ (p.2 - 1)) • ContinuousLinearMap.fst ℂ ℂ ℂ +
    (p.1 ^ p.2 * Complex.log p.1) • ContinuousLinearMap.snd ℂ ℂ ℂ)
  p

full_name: HasStrictFDerivAt.cpow
code: theorem HasStrictFDerivAt.cpow (hf : HasStrictFDerivAt f f' x) (hg : HasStrictFDerivAt g g' x)
    (h0 : f x ∈ slitPlane) : HasStrictFDerivAt (fun x => f x ^ g x)
      ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Complex.log (f x)) • g') x 
goal: HasStrictFDerivAt (fun x => f x ^ g x) ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Complex.log (f x)) • g') x

full_name: HasStrictFDerivAt.const_cpow
code: theorem HasStrictFDerivAt.const_cpow (hf : HasStrictFDerivAt f f' x) (h0 : c ≠ 0 ∨ f x ≠ 0) :
    HasStrictFDerivAt (fun x => c ^ f x) ((c ^ f x * Complex.log c) • f') x 
goal: HasStrictFDerivAt (fun x => c ^ f x) ((c ^ f x * Complex.log c) • f') x

full_name: HasFDerivAt.cpow
code: theorem HasFDerivAt.cpow (hf : HasFDerivAt f f' x) (hg : HasFDerivAt g g' x)
    (h0 : f x ∈ slitPlane) : HasFDerivAt (fun x => f x ^ g x)
      ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Complex.log (f x)) • g') x 
goal: HasFDerivAt (fun x => f x ^ g x) ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Complex.log (f x)) • g') x

full_name: HasFDerivAt.const_cpow
code: theorem HasFDerivAt.const_cpow (hf : HasFDerivAt f f' x) (h0 : c ≠ 0 ∨ f x ≠ 0) :
    HasFDerivAt (fun x => c ^ f x) ((c ^ f x * Complex.log c) • f') x 
goal: HasFDerivAt (fun x => c ^ f x) ((c ^ f x * Complex.log c) • f') x

full_name: HasFDerivWithinAt.cpow
code: theorem HasFDerivWithinAt.cpow (hf : HasFDerivWithinAt f f' s x) (hg : HasFDerivWithinAt g g' s x)
    (h0 : f x ∈ slitPlane) : HasFDerivWithinAt (fun x => f x ^ g x)
      ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Complex.log (f x)) • g') s x 
goal: HasFDerivWithinAt (fun x => f x ^ g x) ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Complex.log (f x)) • g') s x

full_name: HasFDerivWithinAt.const_cpow
code: theorem HasFDerivWithinAt.const_cpow (hf : HasFDerivWithinAt f f' s x) (h0 : c ≠ 0 ∨ f x ≠ 0) :
    HasFDerivWithinAt (fun x => c ^ f x) ((c ^ f x * Complex.log c) • f') s x 
goal: HasFDerivWithinAt (fun x => c ^ f x) ((c ^ f x * Complex.log c) • f') s x

full_name: DifferentiableAt.cpow
code: theorem DifferentiableAt.cpow (hf : DifferentiableAt ℂ f x) (hg : DifferentiableAt ℂ g x)
    (h0 : f x ∈ slitPlane) : DifferentiableAt ℂ (fun x => f x ^ g x) x 
goal: DifferentiableAt ℂ (fun x => f x ^ g x) x

full_name: DifferentiableAt.const_cpow
code: theorem DifferentiableAt.const_cpow (hf : DifferentiableAt ℂ f x) (h0 : c ≠ 0 ∨ f x ≠ 0) :
    DifferentiableAt ℂ (fun x => c ^ f x) x 
goal: DifferentiableAt ℂ (fun x => c ^ f x) x

full_name: DifferentiableWithinAt.cpow
code: theorem DifferentiableWithinAt.cpow (hf : DifferentiableWithinAt ℂ f s x)
    (hg : DifferentiableWithinAt ℂ g s x) (h0 : f x ∈ slitPlane) :
    DifferentiableWithinAt ℂ (fun x => f x ^ g x) s x 
goal: DifferentiableWithinAt ℂ (fun x => f x ^ g x) s x

full_name: DifferentiableWithinAt.const_cpow
code: theorem DifferentiableWithinAt.const_cpow (hf : DifferentiableWithinAt ℂ f s x)
    (h0 : c ≠ 0 ∨ f x ≠ 0) : DifferentiableWithinAt ℂ (fun x => c ^ f x) s x 
goal: DifferentiableWithinAt ℂ (fun x => c ^ f x) s x

full_name: DifferentiableOn.cpow
code: theorem DifferentiableOn.cpow (hf : DifferentiableOn ℂ f s) (hg : DifferentiableOn ℂ g s)
    (h0 : Set.MapsTo f s slitPlane) : DifferentiableOn ℂ (fun x ↦ f x ^ g x) s 
goal: DifferentiableOn ℂ (fun x => f x ^ g x) s

full_name: DifferentiableOn.const_cpow
code: theorem DifferentiableOn.const_cpow (hf : DifferentiableOn ℂ f s)
    (h0 : c ≠ 0 ∨ ∀ x ∈ s, f x ≠ 0) : DifferentiableOn ℂ (fun x ↦ c ^ f x) s 
goal: DifferentiableOn ℂ (fun x => c ^ f x) s

full_name: Differentiable.cpow
code: theorem Differentiable.cpow (hf : Differentiable ℂ f) (hg : Differentiable ℂ g)
    (h0 : ∀ x, f x ∈ slitPlane) : Differentiable ℂ (fun x ↦ f x ^ g x) 
goal: Differentiable ℂ fun x => f x ^ g x

full_name: Differentiable.const_cpow
code: theorem Differentiable.const_cpow (hf : Differentiable ℂ f)
    (h0 : c ≠ 0 ∨ ∀ x, f x ≠ 0) : Differentiable ℂ (fun x ↦ c ^ f x) 
goal: Differentiable ℂ fun x => c ^ f x

full_name: _private.Mathlib.Analysis.SpecialFunctions.Pow.Deriv.0.aux
code: /-- A private lemma that rewrites the output of lemmas like `HasFDerivAt.cpow` to the form
expected by lemmas like `HasDerivAt.cpow`. -/
private theorem aux : ((g x * f x ^ (g x - 1)) • (1 : ℂ →L[ℂ] ℂ).smulRight f' +
    (f x ^ g x * log (f x)) • (1 : ℂ →L[ℂ] ℂ).smulRight g') 1 =
      g x * f x ^ (g x - 1) * f' + f x ^ g x * log (f x) * g' 
goal: ((g x * f x ^ (g x - 1)) • ContinuousLinearMap.smulRight 1 f' +
      (f x ^ g x * Complex.log (f x)) • ContinuousLinearMap.smulRight 1 g')
    1 =
  g x * f x ^ (g x - 1) * f' + f x ^ g x * Complex.log (f x) * g'

full_name: HasStrictDerivAt.cpow
code: nonrec theorem HasStrictDerivAt.cpow (hf : HasStrictDerivAt f f' x) (hg : HasStrictDerivAt g g' x)
    (h0 : f x ∈ slitPlane) : HasStrictDerivAt (fun x => f x ^ g x)
      (g x * f x ^ (g x - 1) * f' + f x ^ g x * Complex.log (f x) * g') x 
goal: HasStrictDerivAt (fun x => f x ^ g x) (g x * f x ^ (g x - 1) * f' + f x ^ g x * Complex.log (f x) * g') x

full_name: HasStrictDerivAt.const_cpow
code: theorem HasStrictDerivAt.const_cpow (hf : HasStrictDerivAt f f' x) (h : c ≠ 0 ∨ f x ≠ 0) :
    HasStrictDerivAt (fun x => c ^ f x) (c ^ f x * Complex.log c * f') x 
goal: HasStrictDerivAt (fun x => c ^ f x) (c ^ f x * Complex.log c * f') x

full_name: Complex.hasStrictDerivAt_cpow_const
code: theorem Complex.hasStrictDerivAt_cpow_const (h : x ∈ slitPlane) :
    HasStrictDerivAt (fun z : ℂ => z ^ c) (c * x ^ (c - 1)) x 
goal: HasStrictDerivAt (fun z => z ^ c) (c * x ^ (c - 1)) x

full_name: HasStrictDerivAt.cpow_const
code: theorem HasStrictDerivAt.cpow_const (hf : HasStrictDerivAt f f' x)
    (h0 : f x ∈ slitPlane) :
    HasStrictDerivAt (fun x => f x ^ c) (c * f x ^ (c - 1) * f') x 
goal: HasStrictDerivAt (fun x => f x ^ c) (c * f x ^ (c - 1) * f') x

full_name: HasDerivAt.cpow
code: theorem HasDerivAt.cpow (hf : HasDerivAt f f' x) (hg : HasDerivAt g g' x)
    (h0 : f x ∈ slitPlane) : HasDerivAt (fun x => f x ^ g x)
      (g x * f x ^ (g x - 1) * f' + f x ^ g x * Complex.log (f x) * g') x 
goal: HasDerivAt (fun x => f x ^ g x) (g x * f x ^ (g x - 1) * f' + f x ^ g x * Complex.log (f x) * g') x

full_name: HasDerivAt.const_cpow
code: theorem HasDerivAt.const_cpow (hf : HasDerivAt f f' x) (h0 : c ≠ 0 ∨ f x ≠ 0) :
    HasDerivAt (fun x => c ^ f x) (c ^ f x * Complex.log c * f') x 
goal: HasDerivAt (fun x => c ^ f x) (c ^ f x * Complex.log c * f') x

full_name: HasDerivAt.cpow_const
code: theorem HasDerivAt.cpow_const (hf : HasDerivAt f f' x) (h0 : f x ∈ slitPlane) :
    HasDerivAt (fun x => f x ^ c) (c * f x ^ (c - 1) * f') x 
goal: HasDerivAt (fun x => f x ^ c) (c * f x ^ (c - 1) * f') x

full_name: HasDerivWithinAt.cpow
code: theorem HasDerivWithinAt.cpow (hf : HasDerivWithinAt f f' s x) (hg : HasDerivWithinAt g g' s x)
    (h0 : f x ∈ slitPlane) : HasDerivWithinAt (fun x => f x ^ g x)
      (g x * f x ^ (g x - 1) * f' + f x ^ g x * Complex.log (f x) * g') s x 
goal: HasDerivWithinAt (fun x => f x ^ g x) (g x * f x ^ (g x - 1) * f' + f x ^ g x * Complex.log (f x) * g') s x

full_name: HasDerivWithinAt.const_cpow
code: theorem HasDerivWithinAt.const_cpow (hf : HasDerivWithinAt f f' s x) (h0 : c ≠ 0 ∨ f x ≠ 0) :
    HasDerivWithinAt (fun x => c ^ f x) (c ^ f x * Complex.log c * f') s x 
goal: HasDerivWithinAt (fun x => c ^ f x) (c ^ f x * Complex.log c * f') s x

full_name: HasDerivWithinAt.cpow_const
code: theorem HasDerivWithinAt.cpow_const (hf : HasDerivWithinAt f f' s x)
    (h0 : f x ∈ slitPlane) :
    HasDerivWithinAt (fun x => f x ^ c) (c * f x ^ (c - 1) * f') s x 
goal: HasDerivWithinAt (fun x => f x ^ c) (c * f x ^ (c - 1) * f') s x

full_name: hasDerivAt_ofReal_cpow
code: /-- Although `fun x => x ^ r` for fixed `r` is *not* complex-differentiable along the negative real
line, it is still real-differentiable, and the derivative is what one would formally expect. -/
theorem hasDerivAt_ofReal_cpow {x : ℝ} (hx : x ≠ 0) {r : ℂ} (hr : r ≠ -1) :
    HasDerivAt (fun y : ℝ => (y : ℂ) ^ (r + 1) / (r + 1)) (x ^ r) x 
goal: HasDerivAt (fun y => ↑y ^ (r + 1) / (r + 1)) (↑x ^ r) x

full_name: Real.hasStrictFDerivAt_rpow_of_pos
code: /-- `(x, y) ↦ x ^ y` is strictly differentiable at `p : ℝ × ℝ` such that `0 < p.fst`. -/
theorem hasStrictFDerivAt_rpow_of_pos (p : ℝ × ℝ) (hp : 0 < p.1) :
    HasStrictFDerivAt (fun x : ℝ × ℝ => x.1 ^ x.2)
      ((p.2 * p.1 ^ (p.2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
        (p.1 ^ p.2 * log p.1) • ContinuousLinearMap.snd ℝ ℝ ℝ) p 
goal: HasStrictFDerivAt (fun x => x.1 ^ x.2)
  ((p.2 * p.1 ^ (p.2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ + (p.1 ^ p.2 * Real.log p.1) • ContinuousLinearMap.snd ℝ ℝ ℝ)
  p

full_name: Real.hasStrictFDerivAt_rpow_of_neg
code: /-- `(x, y) ↦ x ^ y` is strictly differentiable at `p : ℝ × ℝ` such that `p.fst < 0`. -/
theorem hasStrictFDerivAt_rpow_of_neg (p : ℝ × ℝ) (hp : p.1 < 0) :
    HasStrictFDerivAt (fun x : ℝ × ℝ => x.1 ^ x.2)
      ((p.2 * p.1 ^ (p.2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
        (p.1 ^ p.2 * log p.1 - exp (log p.1 * p.2) * sin (p.2 * π) * π) •
          ContinuousLinearMap.snd ℝ ℝ ℝ) p 
goal: HasStrictFDerivAt (fun x => x.1 ^ x.2)
  ((p.2 * p.1 ^ (p.2 - 1)) • ContinuousLinearMap.fst ℝ ℝ ℝ +
    (p.1 ^ p.2 * Real.log p.1 - rexp (Real.log p.1 * p.2) * Real.sin (p.2 * π) * π) • ContinuousLinearMap.snd ℝ ℝ ℝ)
  p

full_name: Real.contDiffAt_rpow_of_ne
code: /-- The function `fun (x, y) => x ^ y` is infinitely smooth at `(x, y)` unless `x = 0`. -/
theorem contDiffAt_rpow_of_ne (p : ℝ × ℝ) (hp : p.1 ≠ 0) {n : ℕ∞} :
    ContDiffAt ℝ n (fun p : ℝ × ℝ => p.1 ^ p.2) p 
goal: ContDiffAt ℝ n (fun p => p.1 ^ p.2) p

full_name: Real.differentiableAt_rpow_of_ne
code: theorem differentiableAt_rpow_of_ne (p : ℝ × ℝ) (hp : p.1 ≠ 0) :
    DifferentiableAt ℝ (fun p : ℝ × ℝ => p.1 ^ p.2) p 
goal: DifferentiableAt ℝ (fun p => p.1 ^ p.2) p

full_name: HasStrictDerivAt.rpow
code: theorem _root_.HasStrictDerivAt.rpow {f g : ℝ → ℝ} {f' g' : ℝ} (hf : HasStrictDerivAt f f' x)
    (hg : HasStrictDerivAt g g' x) (h : 0 < f x) : HasStrictDerivAt (fun x => f x ^ g x)
      (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) x 
goal: HasStrictDerivAt (fun x => f x ^ g x) (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) x

full_name: Real.hasStrictDerivAt_rpow_const_of_ne
code: theorem hasStrictDerivAt_rpow_const_of_ne {x : ℝ} (hx : x ≠ 0) (p : ℝ) :
    HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x 
goal: HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x

full_name: Real.hasStrictDerivAt_const_rpow
code: theorem hasStrictDerivAt_const_rpow {a : ℝ} (ha : 0 < a) (x : ℝ) :
    HasStrictDerivAt (fun x => a ^ x) (a ^ x * log a) x 
goal: HasStrictDerivAt (fun x => a ^ x) (a ^ x * Real.log a) x

full_name: Real.differentiableAt_rpow_const_of_ne
code: lemma differentiableAt_rpow_const_of_ne (p : ℝ) {x : ℝ} (hx : x ≠ 0) :
    DifferentiableAt ℝ (fun x => x ^ p) x 
goal: DifferentiableAt ℝ (fun x => x ^ p) x

full_name: Real.differentiableOn_rpow_const
code: lemma differentiableOn_rpow_const (p : ℝ) :
    DifferentiableOn ℝ (fun x => (x : ℝ) ^ p) {0}ᶜ 
goal: DifferentiableOn ℝ (fun x => x ^ p) {0}ᶜ

full_name: Real.hasStrictDerivAt_const_rpow_of_neg
code: /-- This lemma says that `fun x => a ^ x` is strictly differentiable for `a < 0`. Note that these
values of `a` are outside of the "official" domain of `a ^ x`, and we may redefine `a ^ x`
for negative `a` if some other definition will be more convenient. -/
theorem hasStrictDerivAt_const_rpow_of_neg {a x : ℝ} (ha : a < 0) :
    HasStrictDerivAt (fun x => a ^ x) (a ^ x * log a - exp (log a * x) * sin (x * π) * π) x 
goal: HasStrictDerivAt (fun x => a ^ x) (a ^ x * Real.log a - rexp (Real.log a * x) * Real.sin (x * π) * π) x

full_name: Real.hasDerivAt_rpow_const
code: theorem hasDerivAt_rpow_const {x p : ℝ} (h : x ≠ 0 ∨ 1 ≤ p) :
    HasDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x 
goal: HasDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x

full_name: Real.differentiable_rpow_const
code: theorem differentiable_rpow_const {p : ℝ} (hp : 1 ≤ p) : Differentiable ℝ fun x : ℝ => x ^ p 
goal: Differentiable ℝ fun x => x ^ p

full_name: Real.deriv_rpow_const
code: theorem deriv_rpow_const {x p : ℝ} (h : x ≠ 0 ∨ 1 ≤ p) :
    deriv (fun x : ℝ => x ^ p) x = p * x ^ (p - 1) 
goal: deriv (fun x => x ^ p) x = p * x ^ (p - 1)

full_name: Real.deriv_rpow_const'
code: theorem deriv_rpow_const' {p : ℝ} (h : 1 ≤ p) :
    (deriv fun x : ℝ => x ^ p) = fun x => p * x ^ (p - 1) 
goal: (deriv fun x => x ^ p) = fun x => p * x ^ (p - 1)

full_name: Real.contDiffAt_rpow_const_of_ne
code: theorem contDiffAt_rpow_const_of_ne {x p : ℝ} {n : ℕ∞} (h : x ≠ 0) :
    ContDiffAt ℝ n (fun x => x ^ p) x 
goal: ContDiffAt ℝ n (fun x => x ^ p) x

full_name: Real.contDiff_rpow_const_of_le
code: theorem contDiff_rpow_const_of_le {p : ℝ} {n : ℕ} (h : ↑n ≤ p) :
    ContDiff ℝ n fun x : ℝ => x ^ p 
goal: ContDiff ℝ ↑n fun x => x ^ p

full_name: Real.contDiffAt_rpow_const_of_le
code: theorem contDiffAt_rpow_const_of_le {x p : ℝ} {n : ℕ} (h : ↑n ≤ p) :
    ContDiffAt ℝ n (fun x : ℝ => x ^ p) x 
goal: ContDiffAt ℝ (↑n) (fun x => x ^ p) x

full_name: Real.contDiffAt_rpow_const
code: theorem contDiffAt_rpow_const {x p : ℝ} {n : ℕ} (h : x ≠ 0 ∨ ↑n ≤ p) :
    ContDiffAt ℝ n (fun x : ℝ => x ^ p) x 
goal: ContDiffAt ℝ (↑n) (fun x => x ^ p) x

full_name: Real.hasStrictDerivAt_rpow_const
code: theorem hasStrictDerivAt_rpow_const {x p : ℝ} (hx : x ≠ 0 ∨ 1 ≤ p) :
    HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x 
goal: HasStrictDerivAt (fun x => x ^ p) (p * x ^ (p - 1)) x

full_name: HasFDerivWithinAt.rpow
code: theorem HasFDerivWithinAt.rpow (hf : HasFDerivWithinAt f f' s x) (hg : HasFDerivWithinAt g g' s x)
    (h : 0 < f x) : HasFDerivWithinAt (fun x => f x ^ g x)
      ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Real.log (f x)) • g') s x 
goal: HasFDerivWithinAt (fun x => f x ^ g x) ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Real.log (f x)) • g') s x

full_name: HasFDerivAt.rpow
code: theorem HasFDerivAt.rpow (hf : HasFDerivAt f f' x) (hg : HasFDerivAt g g' x) (h : 0 < f x) :
    HasFDerivAt (fun x => f x ^ g x)
      ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Real.log (f x)) • g') x 
goal: HasFDerivAt (fun x => f x ^ g x) ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Real.log (f x)) • g') x

full_name: HasStrictFDerivAt.rpow
code: theorem HasStrictFDerivAt.rpow (hf : HasStrictFDerivAt f f' x) (hg : HasStrictFDerivAt g g' x)
    (h : 0 < f x) : HasStrictFDerivAt (fun x => f x ^ g x)
      ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Real.log (f x)) • g') x 
goal: HasStrictFDerivAt (fun x => f x ^ g x) ((g x * f x ^ (g x - 1)) • f' + (f x ^ g x * Real.log (f x)) • g') x

full_name: DifferentiableWithinAt.rpow
code: theorem DifferentiableWithinAt.rpow (hf : DifferentiableWithinAt ℝ f s x)
    (hg : DifferentiableWithinAt ℝ g s x) (h : f x ≠ 0) :
    DifferentiableWithinAt ℝ (fun x => f x ^ g x) s x 
goal: DifferentiableWithinAt ℝ (fun x => f x ^ g x) s x

full_name: DifferentiableAt.rpow
code: theorem DifferentiableAt.rpow (hf : DifferentiableAt ℝ f x) (hg : DifferentiableAt ℝ g x)
    (h : f x ≠ 0) : DifferentiableAt ℝ (fun x => f x ^ g x) x 
goal: DifferentiableAt ℝ (fun x => f x ^ g x) x

full_name: DifferentiableOn.rpow
code: theorem DifferentiableOn.rpow (hf : DifferentiableOn ℝ f s) (hg : DifferentiableOn ℝ g s)
    (h : ∀ x ∈ s, f x ≠ 0) : DifferentiableOn ℝ (fun x => f x ^ g x) s 
goal: DifferentiableOn ℝ (fun x => f x ^ g x) s

full_name: Differentiable.rpow
code: theorem Differentiable.rpow (hf : Differentiable ℝ f) (hg : Differentiable ℝ g) (h : ∀ x, f x ≠ 0) :
    Differentiable ℝ fun x => f x ^ g x 
goal: Differentiable ℝ fun x => f x ^ g x

full_name: HasFDerivWithinAt.rpow_const
code: theorem HasFDerivWithinAt.rpow_const (hf : HasFDerivWithinAt f f' s x) (h : f x ≠ 0 ∨ 1 ≤ p) :
    HasFDerivWithinAt (fun x => f x ^ p) ((p * f x ^ (p - 1)) • f') s x 
goal: HasFDerivWithinAt (fun x => f x ^ p) ((p * f x ^ (p - 1)) • f') s x

full_name: HasFDerivAt.rpow_const
code: theorem HasFDerivAt.rpow_const (hf : HasFDerivAt f f' x) (h : f x ≠ 0 ∨ 1 ≤ p) :
    HasFDerivAt (fun x => f x ^ p) ((p * f x ^ (p - 1)) • f') x 
goal: HasFDerivAt (fun x => f x ^ p) ((p * f x ^ (p - 1)) • f') x

full_name: HasStrictFDerivAt.rpow_const
code: theorem HasStrictFDerivAt.rpow_const (hf : HasStrictFDerivAt f f' x) (h : f x ≠ 0 ∨ 1 ≤ p) :
    HasStrictFDerivAt (fun x => f x ^ p) ((p * f x ^ (p - 1)) • f') x 
goal: HasStrictFDerivAt (fun x => f x ^ p) ((p * f x ^ (p - 1)) • f') x

full_name: DifferentiableWithinAt.rpow_const
code: theorem DifferentiableWithinAt.rpow_const (hf : DifferentiableWithinAt ℝ f s x)
    (h : f x ≠ 0 ∨ 1 ≤ p) : DifferentiableWithinAt ℝ (fun x => f x ^ p) s x 
goal: DifferentiableWithinAt ℝ (fun x => f x ^ p) s x

full_name: DifferentiableAt.rpow_const
code: @[simp]
theorem DifferentiableAt.rpow_const (hf : DifferentiableAt ℝ f x) (h : f x ≠ 0 ∨ 1 ≤ p) :
    DifferentiableAt ℝ (fun x => f x ^ p) x 
goal: DifferentiableAt ℝ (fun x => f x ^ p) x

full_name: DifferentiableOn.rpow_const
code: theorem DifferentiableOn.rpow_const (hf : DifferentiableOn ℝ f s) (h : ∀ x ∈ s, f x ≠ 0 ∨ 1 ≤ p) :
    DifferentiableOn ℝ (fun x => f x ^ p) s 
goal: DifferentiableOn ℝ (fun x => f x ^ p) s

full_name: Differentiable.rpow_const
code: theorem Differentiable.rpow_const (hf : Differentiable ℝ f) (h : ∀ x, f x ≠ 0 ∨ 1 ≤ p) :
    Differentiable ℝ fun x => f x ^ p 
goal: Differentiable ℝ fun x => f x ^ p

full_name: HasFDerivWithinAt.const_rpow
code: theorem HasFDerivWithinAt.const_rpow (hf : HasFDerivWithinAt f f' s x) (hc : 0 < c) :
    HasFDerivWithinAt (fun x => c ^ f x) ((c ^ f x * Real.log c) • f') s x 
goal: HasFDerivWithinAt (fun x => c ^ f x) ((c ^ f x * Real.log c) • f') s x

full_name: HasFDerivAt.const_rpow
code: theorem HasFDerivAt.const_rpow (hf : HasFDerivAt f f' x) (hc : 0 < c) :
    HasFDerivAt (fun x => c ^ f x) ((c ^ f x * Real.log c) • f') x 
goal: HasFDerivAt (fun x => c ^ f x) ((c ^ f x * Real.log c) • f') x

full_name: HasStrictFDerivAt.const_rpow
code: theorem HasStrictFDerivAt.const_rpow (hf : HasStrictFDerivAt f f' x) (hc : 0 < c) :
    HasStrictFDerivAt (fun x => c ^ f x) ((c ^ f x * Real.log c) • f') x 
goal: HasStrictFDerivAt (fun x => c ^ f x) ((c ^ f x * Real.log c) • f') x

full_name: ContDiffWithinAt.rpow
code: theorem ContDiffWithinAt.rpow (hf : ContDiffWithinAt ℝ n f s x) (hg : ContDiffWithinAt ℝ n g s x)
    (h : f x ≠ 0) : ContDiffWithinAt ℝ n (fun x => f x ^ g x) s x 
goal: ContDiffWithinAt ℝ n (fun x => f x ^ g x) s x

full_name: ContDiffAt.rpow
code: theorem ContDiffAt.rpow (hf : ContDiffAt ℝ n f x) (hg : ContDiffAt ℝ n g x) (h : f x ≠ 0) :
    ContDiffAt ℝ n (fun x => f x ^ g x) x 
goal: ContDiffAt ℝ n (fun x => f x ^ g x) x

full_name: ContDiffOn.rpow
code: theorem ContDiffOn.rpow (hf : ContDiffOn ℝ n f s) (hg : ContDiffOn ℝ n g s) (h : ∀ x ∈ s, f x ≠ 0) :
    ContDiffOn ℝ n (fun x => f x ^ g x) s 
goal: ContDiffOn ℝ n (fun x => f x ^ g x) s

full_name: ContDiff.rpow
code: theorem ContDiff.rpow (hf : ContDiff ℝ n f) (hg : ContDiff ℝ n g) (h : ∀ x, f x ≠ 0) :
    ContDiff ℝ n fun x => f x ^ g x 
goal: ContDiff ℝ n fun x => f x ^ g x

full_name: ContDiffWithinAt.rpow_const_of_ne
code: theorem ContDiffWithinAt.rpow_const_of_ne (hf : ContDiffWithinAt ℝ n f s x) (h : f x ≠ 0) :
    ContDiffWithinAt ℝ n (fun x => f x ^ p) s x 
goal: ContDiffWithinAt ℝ n (fun x => f x ^ p) s x

full_name: ContDiffAt.rpow_const_of_ne
code: theorem ContDiffAt.rpow_const_of_ne (hf : ContDiffAt ℝ n f x) (h : f x ≠ 0) :
    ContDiffAt ℝ n (fun x => f x ^ p) x 
goal: ContDiffAt ℝ n (fun x => f x ^ p) x

full_name: ContDiffOn.rpow_const_of_ne
code: theorem ContDiffOn.rpow_const_of_ne (hf : ContDiffOn ℝ n f s) (h : ∀ x ∈ s, f x ≠ 0) :
    ContDiffOn ℝ n (fun x => f x ^ p) s 
goal: ContDiffOn ℝ n (fun x => f x ^ p) s

full_name: ContDiff.rpow_const_of_ne
code: theorem ContDiff.rpow_const_of_ne (hf : ContDiff ℝ n f) (h : ∀ x, f x ≠ 0) :
    ContDiff ℝ n fun x => f x ^ p 
goal: ContDiff ℝ n fun x => f x ^ p

full_name: ContDiffWithinAt.rpow_const_of_le
code: theorem ContDiffWithinAt.rpow_const_of_le (hf : ContDiffWithinAt ℝ m f s x) (h : ↑m ≤ p) :
    ContDiffWithinAt ℝ m (fun x => f x ^ p) s x 
goal: ContDiffWithinAt ℝ (↑m) (fun x => f x ^ p) s x

full_name: ContDiffAt.rpow_const_of_le
code: theorem ContDiffAt.rpow_const_of_le (hf : ContDiffAt ℝ m f x) (h : ↑m ≤ p) :
    ContDiffAt ℝ m (fun x => f x ^ p) x 
goal: ContDiffAt ℝ (↑m) (fun x => f x ^ p) x

full_name: ContDiffOn.rpow_const_of_le
code: theorem ContDiffOn.rpow_const_of_le (hf : ContDiffOn ℝ m f s) (h : ↑m ≤ p) :
    ContDiffOn ℝ m (fun x => f x ^ p) s 
goal: ContDiffOn ℝ (↑m) (fun x => f x ^ p) s

full_name: ContDiff.rpow_const_of_le
code: theorem ContDiff.rpow_const_of_le (hf : ContDiff ℝ m f) (h : ↑m ≤ p) :
    ContDiff ℝ m fun x => f x ^ p 
goal: ContDiff ℝ ↑m fun x => f x ^ p

full_name: HasDerivWithinAt.rpow
code: theorem HasDerivWithinAt.rpow (hf : HasDerivWithinAt f f' s x) (hg : HasDerivWithinAt g g' s x)
    (h : 0 < f x) : HasDerivWithinAt (fun x => f x ^ g x)
      (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) s x 
goal: HasDerivWithinAt (fun x => f x ^ g x) (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) s x

full_name: HasDerivAt.rpow
code: theorem HasDerivAt.rpow (hf : HasDerivAt f f' x) (hg : HasDerivAt g g' x) (h : 0 < f x) :
    HasDerivAt (fun x => f x ^ g x)
      (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) x 
goal: HasDerivAt (fun x => f x ^ g x) (f' * g x * f x ^ (g x - 1) + g' * f x ^ g x * Real.log (f x)) x

full_name: HasDerivWithinAt.rpow_const
code: theorem HasDerivWithinAt.rpow_const (hf : HasDerivWithinAt f f' s x) (hx : f x ≠ 0 ∨ 1 ≤ p) :
    HasDerivWithinAt (fun y => f y ^ p) (f' * p * f x ^ (p - 1)) s x 
goal: HasDerivWithinAt (fun y => f y ^ p) (f' * p * f x ^ (p - 1)) s x

full_name: HasDerivAt.rpow_const
code: theorem HasDerivAt.rpow_const (hf : HasDerivAt f f' x) (hx : f x ≠ 0 ∨ 1 ≤ p) :
    HasDerivAt (fun y => f y ^ p) (f' * p * f x ^ (p - 1)) x 
goal: HasDerivAt (fun y => f y ^ p) (f' * p * f x ^ (p - 1)) x

full_name: derivWithin_rpow_const
code: theorem derivWithin_rpow_const (hf : DifferentiableWithinAt ℝ f s x) (hx : f x ≠ 0 ∨ 1 ≤ p)
    (hxs : UniqueDiffWithinAt ℝ s x) :
    derivWithin (fun x => f x ^ p) s x = derivWithin f s x * p * f x ^ (p - 1) 
goal: derivWithin (fun x => f x ^ p) s x = derivWithin f s x * p * f x ^ (p - 1)

full_name: deriv_rpow_const
code: @[simp]
theorem deriv_rpow_const (hf : DifferentiableAt ℝ f x) (hx : f x ≠ 0 ∨ 1 ≤ p) :
    deriv (fun x => f x ^ p) x = deriv f x * p * f x ^ (p - 1) 
goal: deriv (fun x => f x ^ p) x = deriv f x * p * f x ^ (p - 1)

full_name: isTheta_deriv_rpow_const_atTop
code: lemma isTheta_deriv_rpow_const_atTop {p : ℝ} (hp : p ≠ 0) :
    deriv (fun (x : ℝ) => x ^ p) =Θ[atTop] fun x => x ^ (p-1) 
goal: (deriv fun x => x ^ p) =Θ[Filter.atTop] fun x => x ^ (p - 1)

full_name: isBigO_deriv_rpow_const_atTop
code: lemma isBigO_deriv_rpow_const_atTop (p : ℝ) :
    deriv (fun (x : ℝ) => x ^ p) =O[atTop] fun x => x ^ (p-1) 
goal: (deriv fun x => x ^ p) =O[Filter.atTop] fun x => x ^ (p - 1)

full_name: tendsto_one_plus_div_rpow_exp
code: /-- The function `(1 + t/x) ^ x` tends to `exp t` at `+∞`. -/
theorem tendsto_one_plus_div_rpow_exp (t : ℝ) :
    Tendsto (fun x : ℝ => (1 + t / x) ^ x) atTop (𝓝 (exp t)) 
goal: Filter.Tendsto (fun x => (1 + t / x) ^ x) Filter.atTop (𝓝 (rexp t))

full_name: tendsto_one_plus_div_pow_exp
code: /-- The function `(1 + t/x) ^ x` tends to `exp t` at `+∞` for naturals `x`. -/
theorem tendsto_one_plus_div_pow_exp (t : ℝ) :
    Tendsto (fun x : ℕ => (1 + t / (x : ℝ)) ^ x) atTop (𝓝 (Real.exp t)) 
goal: Filter.Tendsto (fun x => (1 + t / ↑x) ^ x) Filter.atTop (𝓝 (rexp t))