Derivatives of x ↦ x⁻¹ and f x / g x #
In this file we prove (x⁻¹)' = -1 / x ^ 2, ((f x)⁻¹)' = -f' x / (f x) ^ 2, and
(f x / g x)' = (f' x * g x - f x * g' x) / (g x) ^ 2 for different notions of derivative.
For a more detailed overview of one-dimensional derivatives in mathlib, see the module docstring of
Analysis/Calculus/Deriv/Basic.
Keywords #
derivative
Derivative of x ↦ x⁻¹ #
theorem hasStrictDerivAt_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} (hx : x ≠ 0) :
HasStrictDerivAt Inv.inv (-(x ^ 2)⁻¹) x
theorem hasDerivAt_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} (x_ne_zero : x ≠ 0) :
HasDerivAt (fun (y : 𝕜) => y⁻¹) (-(x ^ 2)⁻¹) x
theorem hasDerivWithinAt_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} (x_ne_zero : x ≠ 0) (s : Set 𝕜) :
HasDerivWithinAt (fun (x : 𝕜) => x⁻¹) (-(x ^ 2)⁻¹) s x
@[simp]
theorem derivWithin_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} (x_ne_zero : x ≠ 0) (hxs : UniqueDiffWithinAt 𝕜 s x) :
theorem hasFDerivAt_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} (x_ne_zero : x ≠ 0) :
HasFDerivAt (fun (x : 𝕜) => x⁻¹) (ContinuousLinearMap.toSpanSingleton 𝕜 (-(x ^ 2)⁻¹)) x
theorem hasStrictFDerivAt_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} (x_ne_zero : x ≠ 0) :
HasStrictFDerivAt (fun (x : 𝕜) => x⁻¹) (ContinuousLinearMap.toSpanSingleton 𝕜 (-(x ^ 2)⁻¹)) x
theorem hasFDerivWithinAt_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} (x_ne_zero : x ≠ 0) :
HasFDerivWithinAt (fun (x : 𝕜) => x⁻¹) (ContinuousLinearMap.toSpanSingleton 𝕜 (-(x ^ 2)⁻¹)) s x
theorem fderivWithin_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} (x_ne_zero : x ≠ 0) (hxs : UniqueDiffWithinAt 𝕜 s x) :
theorem HasDerivWithinAt.inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c : 𝕜 → 𝕜'} {c' : 𝕜'} (hc : HasDerivWithinAt c c' s x) (hx : c x ≠ 0) :
HasDerivWithinAt c⁻¹ (-c' / c x ^ 2) s x
theorem HasDerivWithinAt.fun_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c : 𝕜 → 𝕜'} {c' : 𝕜'} (hc : HasDerivWithinAt c c' s x) (hx : c x ≠ 0) :
HasDerivWithinAt (fun (i : 𝕜) => (c i)⁻¹) (-c' / c x ^ 2) s x
Eta-expanded form of HasDerivWithinAt.inv
theorem HasDerivAt.inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c : 𝕜 → 𝕜'} {c' : 𝕜'} (hc : HasDerivAt c c' x) (hx : c x ≠ 0) :
HasDerivAt c⁻¹ (-c' / c x ^ 2) x
theorem HasDerivAt.fun_inv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c : 𝕜 → 𝕜'} {c' : 𝕜'} (hc : HasDerivAt c c' x) (hx : c x ≠ 0) :
HasDerivAt (fun (i : 𝕜) => (c i)⁻¹) (-c' / c x ^ 2) x
Eta-expanded form of HasDerivAt.inv
theorem derivWithin_fun_inv' {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c : 𝕜 → 𝕜'} (hc : DifferentiableWithinAt 𝕜 c s x) (hx : c x ≠ 0) :
theorem derivWithin_inv' {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c : 𝕜 → 𝕜'} (hc : DifferentiableWithinAt 𝕜 c s x) (hx : c x ≠ 0) :
@[simp]
theorem deriv_fun_inv'' {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c : 𝕜 → 𝕜'} (hc : DifferentiableAt 𝕜 c x) (hx : c x ≠ 0) :
@[simp]
theorem deriv_inv'' {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c : 𝕜 → 𝕜'} (hc : DifferentiableAt 𝕜 c x) (hx : c x ≠ 0) :
Derivative of x ↦ c x / d x #
theorem HasDerivWithinAt.fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} {c' d' : 𝕜'} (hc : HasDerivWithinAt c c' s x) (hd : HasDerivWithinAt d d' s x) (hx : d x ≠ 0) :
theorem HasDerivWithinAt.div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} {c' d' : 𝕜'} (hc : HasDerivWithinAt c c' s x) (hd : HasDerivWithinAt d d' s x) (hx : d x ≠ 0) :
theorem HasStrictDerivAt.fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} {c' d' : 𝕜'} (hc : HasStrictDerivAt c c' x) (hd : HasStrictDerivAt d d' x) (hx : d x ≠ 0) :
theorem HasStrictDerivAt.div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} {c' d' : 𝕜'} (hc : HasStrictDerivAt c c' x) (hd : HasStrictDerivAt d d' x) (hx : d x ≠ 0) :
theorem HasDerivAt.fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} {c' d' : 𝕜'} (hc : HasDerivAt c c' x) (hd : HasDerivAt d d' x) (hx : d x ≠ 0) :
theorem HasDerivAt.div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} {c' d' : 𝕜'} (hc : HasDerivAt c c' x) (hd : HasDerivAt d d' x) (hx : d x ≠ 0) :
theorem DifferentiableWithinAt.fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableWithinAt 𝕜 c s x) (hd : DifferentiableWithinAt 𝕜 d s x) (hx : d x ≠ 0) :
DifferentiableWithinAt 𝕜 (fun (x : 𝕜) => c x / d x) s x
theorem DifferentiableWithinAt.div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableWithinAt 𝕜 c s x) (hd : DifferentiableWithinAt 𝕜 d s x) (hx : d x ≠ 0) :
DifferentiableWithinAt 𝕜 (c / d) s x
@[simp]
theorem DifferentiableAt.div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableAt 𝕜 c x) (hd : DifferentiableAt 𝕜 d x) (hx : d x ≠ 0) :
DifferentiableAt 𝕜 (c / d) x
@[simp]
theorem DifferentiableAt.fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableAt 𝕜 c x) (hd : DifferentiableAt 𝕜 d x) (hx : d x ≠ 0) :
DifferentiableAt 𝕜 (fun (i : 𝕜) => c i / d i) x
Eta-expanded form of DifferentiableAt.div
theorem DifferentiableOn.div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableOn 𝕜 c s) (hd : DifferentiableOn 𝕜 d s) (hx : ∀ x ∈ s, d x ≠ 0) :
DifferentiableOn 𝕜 (c / d) s
theorem DifferentiableOn.fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableOn 𝕜 c s) (hd : DifferentiableOn 𝕜 d s) (hx : ∀ x ∈ s, d x ≠ 0) :
DifferentiableOn 𝕜 (fun (i : 𝕜) => c i / d i) s
Eta-expanded form of DifferentiableOn.div
@[simp]
theorem Differentiable.div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : Differentiable 𝕜 c) (hd : Differentiable 𝕜 d) (hx : ∀ (x : 𝕜), d x ≠ 0) :
Differentiable 𝕜 (c / d)
@[simp]
theorem Differentiable.fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : Differentiable 𝕜 c) (hd : Differentiable 𝕜 d) (hx : ∀ (x : 𝕜), d x ≠ 0) :
Differentiable 𝕜 fun (i : 𝕜) => c i / d i
Eta-expanded form of Differentiable.div
theorem derivWithin_fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableWithinAt 𝕜 c s x) (hd : DifferentiableWithinAt 𝕜 d s x) (hx : d x ≠ 0) :
derivWithin (fun (x : 𝕜) => c x / d x) s x = (derivWithin c s x * d x - c x * derivWithin d s x) / d x ^ 2
theorem derivWithin_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableWithinAt 𝕜 c s x) (hd : DifferentiableWithinAt 𝕜 d s x) (hx : d x ≠ 0) :
@[simp]
theorem deriv_fun_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableAt 𝕜 c x) (hd : DifferentiableAt 𝕜 d x) (hx : d x ≠ 0) :
@[simp]
theorem deriv_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {c d : 𝕜 → 𝕜'} (hc : DifferentiableAt 𝕜 c x) (hd : DifferentiableAt 𝕜 d x) (hx : d x ≠ 0) :
theorem deriv_const_div {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {𝕜' : Type u_1} [NontriviallyNormedField 𝕜'] [NormedAlgebra 𝕜 𝕜'] {d : 𝕜 → 𝕜'} (c : 𝕜') (hd : DifferentiableAt 𝕜 d x) (hx : d x ≠ 0) :
@[simp]